Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.23;
Скачать: CL | DM;

Вниз

Проблема с версиями драйверов ODBC   Найти похожие ветки 

 
Yurikon   (2007-08-21 08:13) [0]

Здраствуйте!
Прога работает с Access базой через ODBC драйвер под win2000 и офис 2000. На winXP и офис XP запросы SQL выдают ошибку "Слишком мало параметров". Подскажие как установить драйвер ODBC с XP на машину, где стоит win2000 ?


 
KSergey ©   (2007-08-21 08:53) [1]

Есть такие пакеты от MS c названиями MDAC и Jet (ранее, до версии MDAC 2.6 все это шло в одном флаконе)  - так вот в этих пакетах содержатся все ADO и ODBC драйвера в MS-продуктам.
Скачивается бесплатно с сайта MS последняя версия и устанавливается.

И еще. Бросьте ODBC, работайте с MS Access через ADO.


 
sniknik ©   (2007-08-21 09:01) [2]

ODBC давно уже не имеет собственных драйверов для некоторых баз, в частности для Access с которым работает Jet, а в ODBC-шном "драйвере" простое переопределение вызовов на него... (+ еще там часть которая отвечает за ODBC-шный синтаксис. но это к делу не относится)
т.что для того чтобы была одинаковая версия прост поставь последний SP Jet-а (8-й вроде, поищи на мелкософте).
а вот перенести драйвера с одной системы на другую ты врядли сможешь, да и неправильно это, т.что не стоит даже начинать "заморачиваться".

по поводу ошибки, из справки Jet
Слишком мало параметров. Требуется <число>. (Ошибка 3061)
Для этого запроса с параметрами требуется указать иное количество параметров. Обеспечьте требуемое число параметров и вновь запустите запрос.

В некоторых случаях данное сообщение возникает, когда в качестве запроса с параметрами интерпретируются неизвестные имена полей или выражения. Проверьте, что имена полей, содержащие пробелы или знаки пунктуации, заключены в квадратные скобки [ ].


 
sniknik ©   (2007-08-21 09:11) [3]

> но это к делу не относится
хотя нет, это может относится к делу, чисто теоретически. возьмем 2 варианта установки старый еще с собственным драйвером и "родным", рабочим синтаксисом, и новый в котором после преобразований запроса под синтаксис Jet запрос передается в него... а у него другие резервированные поля, и чтото может быть банально пропущено... а в Jet/Access непонятные веши на месте полей/условий могут интерпретироваться как имена параметров.... вот и несовпадение их количества...

> И еще. Бросьте ODBC, работайте с MS Access через ADO.
это точно, будет лучше без посредников, только уточнение ... через ADO + Jet.


 
Yurikon   (2007-08-21 10:20) [4]

Я и так работаю через ADO. При прямом обращении к базе через Jet скорость будет выше, чем через ODBC ?


 
sniknik ©   (2007-08-21 10:36) [5]

вряд ли. слишком уж редко выполняются команды запросов, и слишком уж маленькая разница между вызовом процедуры и вызовом процедуры внутри другой процедуры.

скорость не в этом, а в алгоритмах и оптимальных методах работы.


 
Виталий Панасенко ©   (2007-08-21 12:34) [6]

Если правильно настроить - сравнима с BDE+Paradox(чуть уступает). Я о навигации по таблицам...


 
yurikon   (2007-08-23 09:03) [7]

Сделал подключение через Jet - ошибка пропала! Видимо в новой версии драйвера ODBC новый синтаксис...Спасибо!

Еще вопрос. Я по таймеру открываю и закрываю таблицу для обновления. В grid`е после этого текущая запись центрируется по вертикале, что не удобно если до обновления текущая запись была например внизу. как отключит это свойство?


 
sniknik ©   (2007-08-23 09:18) [8]

> как отключит это свойство?
не об этом надо думать... а о том как сделать так чтобы не пришлось по таймеру закрывать и открывать таблицы. это вообще прерогатива юзера получать данные в тот момент в который они ему нужны (а не в момент их им редактирования например...).


 
Anatoly Podgoretsky ©   (2007-08-23 14:53) [9]


> В grid`е после этого текущая запись центрируется по вертикале,
>  что не удобно если до обновления текущая запись была например
> внизу. как отключит это свойство?

Не стоит бороться с психологическими заморочками.


 
Yurikon   (2007-08-23 16:55) [10]


> Не стоит бороться с психологическими заморочками.


И то верно. :)

Юзер эти данные не редактирует вообще. Они только для просмотра. А как по другому предложите обновлять содержимое таблице, если не через таймер и св-во Active ?



Страницы: 1 вся ветка

Текущий архив: 2007.12.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
2-1196035767
Dmitry_V
2007-11-26 03:09
2007.12.23
Работа с базами данных в Delphi 2007


2-1195811107
Phoenix
2007-11-23 12:45
2007.12.23
Можно ли в парадоксе в запросе вытащить год из даты?


2-1196171705
Anti Gopn!k
2007-11-27 16:55
2007.12.23
Сделать недоступным


2-1196107164
cyber
2007-11-26 22:59
2007.12.23
Проблема с DBGid


15-1195804128
TUser
2007-11-23 10:48
2007.12.23
Посоветуйте маршрутизатор