· Начало · Статистика · Регистрацiя · Поиск · FAQ · Правила · Язык · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› А льзя ли SQLDriverConnect в DLL?

Посл.отвђт Сообщенiе


Дата: Мар 24, 2003 13:56:36

Собственно, сабж...


Дата: Мар 25, 2003 04:23:29

Какие, по-вашему, могут возникнуть проблемы?


Дата: Мар 25, 2003 12:08:51

Проблемы такого плана:
1) есть своя DLL, в которой создаётся соединение с базой. С нормальной строкой подключения типа "DRIVER={SQL Server};SERVER=sqlserver1;UID=sa;PWD=password;DATABASE=base1;" и вызове SQLDriverConnect с параметром SQL_DRIVER_NOPROMPT функция вешает локальную машину. Кроме того сервер входит в ступор, и выходит из него только после сброса зависшей машины. При вызове SQLDriverConnect с отличным от SQL_DRIVER_NOPROMPT параметром SQLError возвращает сообщение о том, что строка подключения неверна.
2) c SQLConnect та же проблема, но только если DSN написан без ключевых слов, например:
"SQLDSN". Если записать DSN в виде "DSN=SQLDSN", то SQLError возвращает то же самое.
Интересно, что в standalone exe всё работает на ура, в DLL же...
SQL Server 6.5
sqlsrv32.dll версии 2.65.02.52
используется ODBC версии 3.510.4202.0

Да, ещё, DLL вызывается из программы в которой уже установлен коннект к этому-же источнику данных, может это как-то влияет?


Дата: Мар 26, 2003 04:52:09

в standalone exe всё работает на ура
Даже если в программе уже установлен коннект к этому-же источнику данных ?


Дата: Мар 26, 2003 09:17:02

Забыл сказать, вызывающая DLL программа написана не на асме, а на бейсике.


Дата: Мар 27, 2003 07:15:23

Перефразирую вопрос.
Выполняются ли одновременно два соединения с SQL сервером из одного приложения (без DLL) с теми параметрами, с которыми не выполняются из связки VBApp+DLL? Одновременно - т.е. одно уже OK, а второе пытается и тоже OK.


Дата: Мар 27, 2003 07:17:46

Аноним Дата: Мар 27, 2003 07:15:23
Это был я.


Дата: Мар 27, 2003 08:45:39

Если из приложения на асме создавать 2 соединения к одному источнику, то они создаются, а в связке VBApp+DLL, если в VB создано соединение, то из DLL другое уже не создать.


Дата: Мар 27, 2003 10:33:02

А связка AsmApp+DLL?


Дата: Мар 27, 2003 11:19:27

После некоторой переработки (DLL заточена под конкретное VB приложение) связка AsmApp+DLL работает. Скорее всего это заморочки бейсика...
Примечательно, что при создании в бейсике второго коннекта, и передачи hEnv и hDbc этого коннекта в DLL, библиотека стала работать. Скорее всего на этом и остановлюсь, хотя хотелось бы сделать всё в DLL...
Microsoft.... Что ещё можно сказать.