|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77Единственное. Конструкция (обновиться перед чтением): Код: plaintext 1. 2.
Microsoft Jet and Replication Objects 2.6 Library (msjro.dll) Конечно же требует, это раннее связывание. Дмитрий77Ответа по поводу какую версию ADO подключать я так и не получил (вы упомянули про 2.8 и типа усе есть, но я бы не форсировал...из осторожности), поэтому считаю логичным, если уж добавлять refrerencы то вот эту пару Код: plaintext 1.
Не вижу логики в использовании версии 2.6 против 2.8. Или у вас есть объективные предпочтения к 2.6 ? Дмитрий77Или все-таки CreateObject? Вот все беспокоюся...Меня честно это сторона вопроса беспокоит гораздо больше чем Like %%. Т.е. предпочту ездить на велосипеде чем разбиться на недоделанном ЛА. Почитайте про раннее связывание VS позднее связывание. Дмитрий77По поводу лайков и прочего. Ну это на самом деле рихтовка по сравнению с задержками на секунды. Тем не менее не буду злоупотреблять советами. Это не рихтовка, а грамотное проектирование. Так что вы правильно сделали, что последовали совету Shocker.Pro. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 08:29 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77Ответа по поводу какую версию ADO подключать я так и не получил (вы упомянули про 2.8 и типа усе есть, но я бы не форсировал...из осторожности) Версии 2.8 сто лет в обед, она вылизана (по крайней мере относительно старых версий, а глюки есть во всех) и никаких нареканий на нее я не слышал. Так или иначе у меня была в проекте проверка на то, чтобы версия была не ниже 2.8, потому что не работали какие-то функции, щас уже не вспомню какие. Я, в принципе, тоже не сторонник ставить САМЫЕ свежие версии софта, если старые работают нормально, но в данном случае, как я говорил, нареканий на 2.8 я не слышал. Shocker.Pro Код: plaintext 1. 2. 3. 4.
Совет - не надо злоупотреблять звездочкой, когда это не требуется. Если надо только ID, указывай в отборе только ID. Утрированный пример: через год ты в эту таблицу решишь добавить бинарное поле в которое положишь мегабайтный файл. И все конструкции Select * будут каждый раз при запросе считывать его на клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 10:24 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
big-dukeНе вижу логики в использовании версии 2.6 против 2.8. Или у вас есть объективные предпочтения к 2.6 ? Почитайте про раннее связывание VS позднее связывание. Давайте разберемся: сейчас у меня типа так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Сборная солянка. Есть 3 варианта: I. Код: plaintext 1.
II. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
III. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Как утверждает Shocker.Pro, библиотека всегда есть, т.е. получается ссылки (раннее связывание) можно использовать смело. Хорошо если так. А вдруг user покурочил систему? Сам долбо*б конечно, но тем не менее. Хоть сказать ему об этом в byby:... Опять же? big-dukeНе вижу логики в использовании версии 2.6 против 2.8. Или у вас есть объективные предпочтения к 2.6 ? Мне честно говоря на это наплевать. Мне надо чтоб программа ВСЕГДА ЗАПУСТИЛАСЬ. Я так понимаю особого отличия в версиях нет по крайней мере начиная с какой-нибудь 2.5 По поводу конкретно 2.8 смущает вот эта "двойственность": Код: plaintext 1.
Почему ADO 2.6?... Чисто субъективно Код: plaintext
и только эта версия. Значит пусть будут одинаковые, что-то в этом есть. !!!Дальше. Конструкция (В-I и В-II) Код: plaintext 1.
я так понимаю предписывает использовать объект строго версии 2.6. А если в системе вдруг нет 2.6 а есть 2.5 и(ли) 2.8 например... Просто в варианте 3 Код: plaintext
про номер версии намеков нет. Т.е. я так понимаю система на ходу присасывается к той версии, что сочтет нужной и все работает. Ну а если уж совсем дело дрянь, то можно хотя бы уйти на byby: "культурно попрощавшись" с юзером. Мне честно говоря вот эти ссылки...поди почитай. Читать можно умно и долго. Потом выпускаешь прогу и через неделю приходит mail с скриншотом "ActiveX not able to create object" где юзер на корявом английском справедливо вопрошает. Have you any idea (solution) about this? Вот поэтому я и спрашиваю:не что почитать а как надо чтоб всегда запустилось и работало на всех OS:от Win XP 32bit-до-Win7 64bit? а не как можно? И вопрос этот далеко не праздный. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 10:54 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
> Автор: Дмитрий77 > где юзер на корявом английском справедливо вопрошает. > Have you any idea (solution) about this? У каждой программы есть свои требования для нормального функционирования. И тот кто их не читает имеет проблемы. Я не знаю как в инсталяторе проверить наличие установленной версии АДО или чего-то другого. Как вариант, можно сделать startup object - Sub Main в которой через CreateObject проверить "создаваемость" всех интересуемых объектов и их версий и при наличии расхождений с требованиями выдавать предупреждение о несоответствии минимальным требованиям. Если расхождений нет, тогда запускать уже рабочую форму программы. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 11:20 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
ПОЛУОФФ: Игорь Горбонос, установленная версия ADODOB Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 11:55 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Топик открыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 14:19 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
пробуй камнем ПОЛУОФФ: Игорь Горбонос, установленная версия ADODOB Код: plaintext
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 14:21 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77А вдруг user покурочил систему? Сам долбо*б конечно, но тем не менее.У него при этом не будет работать треть софта на машине, мне кажется, так что ему немедленно будет грозить переустановка MDAC ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 14:30 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77, А знаешь, че я тебе скажу. У меня в файле проекта (vbp) написано следующее: Код: plaintext 1.
при этом и IDE и скомпилированный проект работает с 2.8 автоматически ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 14:39 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
всё правильно, работает самый последний (актуальный) зарегистрированный компонент по имени вашего GUID из референса ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 14:45 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
big-dukeТопик открыт. Благодарствую. Shocker.Pro Код: plaintext 1.
при этом и IDE и скомпилированный проект работает с 2.8 автоматически Ну т.е. ссылается именно на "2.0 Library", а реально работает с "2.8 Library"? Я тоже попробовал поставить ссылку как у вас и у меня база "открылась". При этом база создана Access2000, а насколько помню для Access2000 нужен mdac2.5 (vb6 SP5 когда-то ради этого специально ставил). Konst_Oneвсё правильно, работает самый последний (актуальный) зарегистрированный компонент по имени вашего GUID из референса Т.е. неважно что я ставлю в reference (2.0, 2.5 или 2.8), а все равно будет работать 2.8 (последняя) и это в общем и целом эквивалентно выбору версии при Код: plaintext
Shocker.ProДмитрий77А вдруг user покурочил систему? Сам долбо*б конечно, но тем не менее.У него при этом не будет работать треть софта на машине, мне кажется, так что ему немедленно будет грозить переустановка MDAC Наверно так. Игорь Горбонос, усложнять жизнь поисками в реестре и CreateObject наверно тогда не стоит? Ну т.е. я прекращаю париться, оставляю Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 19:53 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77Ну т.е. ссылается именно на "2.0 Library", а реально работает с "2.8 Library"?да Дмитрий77Т.е. неважно что я ставлю в reference (2.0, 2.5 или 2.8), а все равно будет работать 2.8 (последняя) и это в общем и целом эквивалентно выбору версии при Код: plaintext
По идее да. У меня так же автоматически меняются версии для подключенных MS Word и MS Excel и проект работает с той версией офиса, что найдет на клиентском компе. Кстати, если он не найдет офиса вообще, exe-шник запускается даже при раннем связывании и спокойно работает до первого обращения к офису, где и ругается на "Can't create object" (повторяю - при раннем связывании, не только при позднем) - с ADO будет, думаю, то же самое. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2011, 20:03 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Shocker.ProДмитрий77 Код: plaintext
Совет - не надо злоупотреблять звездочкой, когда это не требуется. Если надо только ID, указывай в отборе только ID. Ну, пока смог этим воспользоваться только в двух местах, причем в одном "только ID",в другом 2 поля: Код: plaintext 1.
Shocker.Pro"Утрированный пример: через год ты в эту таблицу решишь добавить бинарное поле в которое положишь мегабайтный файл. Ну, это уж слишком, файлы в таблицу я класть в ближайшей пятилетке не собираюсь. Shocker.ProКстати, если он не найдет офиса вообще, exe-шник запускается даже при раннем связывании и спокойно работает до первого обращения к офису, где и ругается на "Can't create object" (повторяю - при раннем связывании, не только при позднем) - с ADO будет, думаю, то же самое. Исходя из всего сказанного думаю, что оставляю как есть, т.е. с ссылками на 2.6+2.6 big-dukeПочитайте про раннее связывание VS позднее связывание. Я глянул чуть-чуть, якобы позднее связывание чуть добавляет "тормозов",хотя я не думаю что это сравнимо с мировой революцией. В данном случае думаю можно оставить раннее, еще и потому что каждый раз при правке кода с CreateObject придется раскомментировать для удобства отдельные места, что в данном случае будет несколько объемно. Игорь ГорбоносУ каждой программы есть свои требования для нормального функционирования. И тот кто их не читает имеет проблемы. Это да. Но половина не читает. Половина из тех кто читает не понимает о чем речь. Если даже в лоб выдать фразу ".NET Framework v. такая-то" не установлен, большинство не знает что это такое и как установить. Конкретно с .NET (т.к. были проблемы несмотря на "требования"), пришлось добавить 1) Понять установлен/не установлен и какая версия (через реестр по методу как тут про ADO было предложено) 2) Выдать сообщение о том что не установлен с кнопкой далее и словами что это надо и предупреждением что установка будет долгой 3) По кнопке далее установить. На самом деле чтобы все эти процедуры проверки/установки сделать качественно, надо затратить существенные усилия. В случае с ADO наверно самое правильное не предпринимать ничего. В этой связи вспоминается пример с CDO.Message. (хотя у меня в коде там позднее связывание) Раньше зачем-то вынул его из XP и пытался устанавливать с программой. При установке на Vista эта процедура стала "часто ругаться". Решил вообще удалить "доустановку". За два года не нашлось человека у которого бы не работало CDO и кто бы мне об этом сообщил. Видимо с ADO надо поступить также, т.е не делать ничего. Предполагая слишком много малореальных вариантов и способов их обхода можно понаделать кучу сбственных ляпов. Shocker.ProДмитрий77А вдруг user покурочил систему? Сам долбо*б конечно, но тем не менее.У него при этом не будет работать треть софта на машине, мне кажется, так что ему немедленно будет грозить переустановка MDAC Скорее винды. Мне один написал: не могу распаковать setup.zip. ZIP был сделан штатным XP-архиватором...Такого не предусмотришь. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2011, 01:58 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77Shocker.Proнемедленно будет грозить переустановка MDAC Скорее винды. была такая у меня темка... в копилку Эквивалент переустановки MDAC под WinXP ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2011, 10:07 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Shocker.Pro, да и ко всем вобщем вопрос: С OleDB.OleDbConnection никто с Access не работал (в .NET)? Т.е. в свете озвученной здесь темы Эквивалент JRO.RefreshCache adoConn при переходе ADODB.Connection->OleDb.OleDbConnection Строчка Код: vbnet 1.
чтобы не было проблем при интенсивной работе с базой. Аналог для OleDB.OleDbConnection? Не, я пока не нарвался на проблему, но это надо много кода написать, чтоб нарваться. А сюрпризов не хочу. Поиск по интернету наводит на плохие мысли. М.б. ну его, эту "новейшую технологию" и подключить ADODB к .NET -проекту? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 13:22 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77М.б. ну его, эту "новейшую технологию" и подключить ADODB к .NET -проекту?+1 Объектная модель System.Data шизофренична и перегружена, хотя некоторые вещи, тебе пока не нужные, делаются проще. В дотнете есть собственный ADODB, брат-близнец классического, правда он не всегда присутствует в списке сборок. Если в списке его нет, то можно найти вручную в C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\adodb.dll Если будешь работать с MSSQL, советую освоить EntityFramework, он удобнее ADODB, хотя может не все. На все остальное сгодится System.Data, причем это остальное как раз те вещи, что делаются просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 14:20 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Antonariy, Ну, этот собственный adodb я нашел по указанному тобой пути (вставил через обзор). Но меня смущает Версия 7.0.3300.0 (а не 4.0) Т.е начнешь ставить на другие системы, на x64 и т.д. - кабы не было проблем. С классическим ADODB проблем не возникает. И как быть с JRO. С учетом вот этой поправки Эквивалент JRO.RefreshCache adoConn при переходе ADODB.Connection->OleDb.OleDbConnection BeginTrans/CommitTrans -> Jro не нужен? которую я прокомментировал но никто не подтвердил JRO.RefreshCash вроде как и не надо. Если это так Так ли? то можно использовать OleDB как рекомендовано. SQL-Запросы те же, синтаксис похожий. Или все-таки действительно ну его, и использовать классический ADODB + перекатывание кода в лоб из VB6. Все таки хочу допонять путь по которому итти перед тем как чего-то делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 14:48 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Дмитрий77Т.е начнешь ставить на другие системы, на x64 и т.д. - кабы не было проблем.Кидай в папку с программой — вообще никаких проблем, это тебе не MDAC. Дмитрий77И как быть с JRO.Я даже не знаю что это. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 14:51 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
AntonariyДмитрий77И как быть с JRO.Я даже не знаю что это. Это то, без чего есть вероятность 1) поменять строчку в таблице 2) А в следующем действии прочитать ту же строчку без учета изменений сделанных в п.(1) При работе с записной книжкой это не важно (нединамическая операция). А вот когда я пишу тек. статистику телефонного вызова (факса) в эту "строчку", где интервал записи-чтения-записи может составлять пару миллисекунд это уже критично. Поэтому логичным является вопрос. Эквивалентно ли жесткое соблюдение BeginTrans/CommitTrans при update/insert/delete действию JRO.RefreshCash после которого я уверен что все предыдущие изменения будут отражены при выполнении последующих обращений. JRO.RefreshCash -контролирует что все изменения точно попали из кэша в БД. Access (база .mdb имеется ввиду) по умолчанию сбрасывает кэш раз в 5 секунд, если я не ошибаюсь. Просто с \Primary Interop Assemblies\adodb.dll нужен также аналог для JRO а если без JRO можно обойтись, соблюдая BeginTrans/CommitTrans то почему б тогда все-таки не System.Data.OleDB... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 15:11 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Я бы забил на акс и юзал sql compact. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 15:18 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Antonariy, НЕ, я к такому фундаментальному шагу не готов. mdb для моих целей вполне нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 15:26 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
а зачем тебе JRO ? он вообще-то для контроля/изменения струтуры jet-баз ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 15:35 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Konst_One, Ну 10 раз уж одно и то же переписываю: Дмитрий77Это то, без чего есть вероятность 1) поменять строчку в таблице 2) А в следующем действии прочитать ту же строчку без учета изменений сделанных в п.(1) JRO.RefreshCash -контролирует что все изменения точно попали из кэша в БД. Access (база .mdb имеется ввиду) по умолчанию сбрасывает кэш раз в 5 секунд, если я не ошибаюсь. 10132170 Shocker.Proпробуй камнемДмитрий77, поддержка Майкрософт о Вашей проблеме The writer must start a transaction, using ADO's Connection.BeginTrans, prior to writing the data. The writer must make the database updates and then commit the transaction (using ADO's Connection.CommitTrans). The reader must call JRO.JetEngine.RefreshCache passing in it's connection prior to attempting to read the data. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 15:48 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
автор1) поменять строчку в таблице для этого не нужен JRO ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 15:50 |
|
БД, она тормозит с обновлением что ли...
|
|||
---|---|---|---|
#18+
Konst_One, Для (1) -нет не нужен. А для гарантии отсутствия этого? Дмитрий772) А в следующем действии прочитать ту же строчку без учета изменений сделанных в п.(1) Я задал вопрос: 14934467 Дмитрий77 Если я при всех командах UPDATE DELETE INSERT INTO делаю BeginTrans/CommitTrans То верно ли что я застрахован от следующей ситуации: 1) поменял строчку в таблице 2) А в следующем действии прочитал ту же строчку без учета изменений сделанных в п.(1) И мне не надо делать JRO.RefreshCash? (в том числе для классического ADODB). Считай что между UPDATE(строка) и SELECT(та же строка) может пройти 1 миллисекунда (например). Время релаксации-утрясания кэша для mdb БД = 5 секунд (кажется). JRO.RefreshCash сбрасывает кэш. Но там молчат. Т.е. ответственности за это утверждение никто брать на себя не хочет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2013, 15:58 |
|
|
start [/forum/topic.php?fid=60&msg=37081976&tid=2156739]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 270ms |
total: | 414ms |
0 / 0 |