Некоторое время назад в процессе проекта мы столкнулись с проблемами, связанными с источниками данных, когда нам требовалось динамически загружать данные из разных баз данных. Разумеется, таблицы DBF, которые невозможно подключить с помощью ADOQUERY (до того, как была скачана версия патча, мы позже обнаружили, что они есть). также может быть подключен) должен быть создан с помощью ODBC. Для выполнения обработки соединения ODBC должен быть установлен динамически, чтобы исключить возможность удаления пользователями ODBC. Ниже я запишу прототип функции API и инструкции для создания таблиц SQLSERVER и DBF для совместного использования. (конечно, SQLSERVER не обязательно создавать в состоянии ADO).
SQLConfigDataSource (hwndParent: Integer; fRequest: Integer; lpszDriverString: String; lpszAttributes: String): Integer;
Используйте в состоянии вызова:
функция SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL';
Установите SQLSERVER ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=Record_ODBC'+ chr(0) +'Server=(local)'+ chr(0) +'Database=master'+ chr(0) +'Description=DragonPC SQLServer ODBC Source'+ chr(0));
{DSN: имя вашего источника данных ODBC.
Сервер: имя вашего сервера базы данных. Используйте (локальный) для обозначения базы данных, установленной на вашем локальном компьютере. Примечание. Последняя версия SQL Server 2000 поддерживает один компьютер с несколькими службами SQL Server. На данный момент вам необходимо указать имя экземпляра SqlSever.
Адрес: укажите сетевой IP-адрес сервера SQL Server.
База данных: укажите имя базы данных по умолчанию.
Язык: укажите язык по умолчанию.
Описание: Информация о примечаниях. }
Создайте таблицу DBF ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, 'Драйвер Microsoft Visual FoxPRO' + CHR(0), 'dsn=SourceTable' + CHR(0) + 'BackgroundFetch=Да' + CHR(0) + 'Description=описание соединения' + CHR (0) + 'Эксклюзив=Нет' + CHR(0) +sourcedbstr + CHR(0) +'Тип источника=DBF');
В остальном все то же самое, за исключением того, что на создание и отладку DBF-таблицы ушло много времени. Надеюсь, вы не будете тратить время на ее запись.
Примечание. Приведенный выше контент предназначен только для новичков, столкнувшихся с подобными проблемами.