Код (Text): #include <vcl.h> #include <sql.h> #pragma hdrstop #include "Unit1.h" #pragma package(smart_init) #pragma resource "*.dfm" #define SQL_OV_ODBC3 3 #define SQL_ATTR_ODBC_VERSION 200 TForm1 *Form1; ... есть ф-ии SQLAllocHandle, SQLSetEnvAttr Код (Text): ... int a = SQLDriverConnect(hConn,hWnd,szConnectString,sizeof szConnectString,pMem,1023,iStrLen,SQL_DRIVER_COMPLETE); пишет: Call to undefined function "SQLDriverConnect" В sql.h нет этой ф-ии (SQLDriverConnect). Пробовал также включать: Код (Text): // for dynamic load of ODBC32.DLL #pragma comment(lib, "odbc32.lib") пишет, что это COFF, а нужен OMF в sql.h пишут: #if (ODBCVER >= 0x0300) и т.д и текущая 3.51 пробую так: Код (Text): #include <vcl.h> #define ODBCVER 0x0100 #include <sql.h> ... тогда вообще не находит ни одну функцию. В мсдн: Код (Text): SQLDriverConnect Function Conformance Version Introduced: ODBC 1.0 Standards Compliance: ODBC Это наверное функция была в одбс 1.0, а в 3ю51 ее нет? Что делать?
verelex пишет: Call to undefined function "SQLDriverConnect" Описание этой функции содержится в \CBuilder6\Include\sqlext.h. пишет, что это COFF, а нужен OMF Afaik библиотека \CBuilder6\Lib\odbc32.lib имеет фомат, который bcb понимает.
Спасибо за ответ, но теперь выдает: Код (Text): [Linker Error] Unresolved external '_SQLSetEnvAttr' referenced from C:\BCB_ODBC\UNIT1.OBJ [Linker Error] Unresolved external '_SQLAllocHandle' referenced from C:\BCB_ODBC\UNIT1.OBJ [Linker Error] Unresolved external '_SQLConnect' referenced from C:\BCB_ODBC\UNIT1.OBJ [Linker Error] Unresolved external '_SQLFreeHandle' referenced from C:\BCB_ODBC\UNIT1.OBJ Нашел: Код (Text): [Linker Error] Unresolved external '_Form2' referenced from [...]\UNIT1.OBJ This error occurs when you have added a second TForm to your project (using 'File | Include Unit Hdr') but WITHOUT having done 'Project | Add to Project | Unit2.cpp' но в моем случае не то.
Добавить в проект? Или как-то через консоль компилить/линковать? В проект добавлял,в Library Path путь добавлял, безрезультатно.
verelex Библиотеки обе есть? Вторая больше? безрезультатно Это как? По прежнему пишет что не отрезольвены _SQLSetEnvAttr, _SQLAllocHandle, _SQLConnect и _SQLFreeHandle функции, а на SQLDriverConnect не ругается? Ошибку Unresolved external '_Form2' ... исправил?
Да. Код (Text): По прежнему пишет что не отрезольвены _SQLSetEnvAttr, _SQLAllocHandle, _SQLConnect и _SQLFreeHandle функции, а на SQLDriverConnect не ругается? Да, и на SQLDriverConnect тоже ругается. Код (Text): [Linker Error] Unresolved external '_SQLSetEnvAttr' referenced from C:\BCB_ODBC\UNIT1.OBJ [Linker Error] Unresolved external '_SQLAllocHandle' referenced from C:\BCB_ODBC\UNIT1.OBJ [Linker Error] Unresolved external '_SQLDriverConnect' referenced from C:\BCB_ODBC\UNIT1.OBJ [Linker Error] Unresolved external '_SQLFreeHandle' referenced from C:\BCB_ODBC\UNIT1.OBJ Нет, это не моя ошибка - это я в инете нашел FAQ "Откуда берется Unresolved external" Да, ладно я на VS буду писать, спасибо за ответы!