Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Подключение локальной базы данных через ODBC


Автор: AndreyK 16.12.2008, 19:44
У меня прога работает с локальной базой (через JET).

Возникла необходимость юзать SQL-сервер... но пока сервера нет, я решил подключить базу напрямую через ODBC и посмотреть что получится.

Создал источник данных, указал его для подключения:

Set DefDatabase = gWorkspace.OpenDatabase("BaseName", False, False, "odbc;")

 ... на что мне в ответ:

"Не допускается использование ODBC для импорта, экспорта или присоединения таблицы из внешней базы данных Microsoft Jet или базы данных ISAM."

То-же пишет и Access.

Я что-то не то сделал или эти ODBC-драйвера ,для локальных баз, только для красоты существуют, а работать с ними никак нельзя?

Автор: AndreyK 17.12.2008, 17:05
Сам отвечу на свой вопрос.

Оказывается по умолчанию используется JET - engine.

Чтоб использовать ODBC надо :

Код

    Set gWorkspace = CreateWorkspace("", "sa", "", dbUseODBC)


или

Код

   DBEngine.DefaultType = dbUseODBC
   Set wksDefault = DBEngine.Workspaces(0)


Осталось понять почему все рекордсеты создаются только для чтения, ведь при открытии базы я указываю reaonly=false

Код

    Set DefDatabase = gWorkspace.OpenDatabase("", dbDriverNoPrompt, False, "ODBC;DSN=" & BaseName & ";")


И в настройках в ODBC признак readonly не установлен...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)