Официальный сайт студ.городка НГТУ
Программирование и БД » Подключение С++ к MS SQL 

#1  27.08.10 12:05

Подключение С++ к MS SQL

Использую Window+gcc+IDE Eclipse+база MS SQL server
Решил использовать ODBC для подключения.
Но уже сразу начались проблемы нащел такой код, который типа должен выводить источники данных:

Код::

int main()
{
	char datasrc[MAX_BUF] = {0};
	char descrip[MAX_BUF] = {0};
	short rdsrc = 0, rdesc = 0;
	SQLHENV hEnv;
	SQLRETURN ret;
	ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HENV, &hEnv);
	ret = SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
	SQLSMALLINT direction = SQL_FETCH_FIRST;
	while(1)
	{
		ret = SQLDataSources(hEnv, direction, (SQLTCHAR*)datasrc, MAX_BUF, &rdsrc, (SQLTCHAR*)descrip, MAX_BUF, &rdesc);
		if(SQL_NO_DATA == ret) break;
		direction = SQL_FETCH_NEXT;
		CharToOem(datasrc, datasrc);
		CharToOem(descrip, descrip);
		printf("* %s (%s) ", datasrc, descrip);
	}
	SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
	printf(" ");
	while(1)
	{
	}
}

добавил туда
#include <iostream>
#include <windows.h>
#include <WinDef.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <odbcinst.h>
using namespace std;

Почитал, написано надо добавить DLL-ку odbccp32.dll, пытаюсь воткнуть:

Код::

#pragma comment(lib,"odbccp32.dll")

оно игнорит строчку... порыл в интернете, написано gcc не понимает это.

Пытаюсь добавить в Project=>Properties=>Paths and Symbols=>Libraries, при компиляции выдает:

Код::

g++ -oTEST.exe src\TEST.o -lD:\Vova\EclipseProjects\TEST\lib\odbccp32.dll
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lD:\Vova\EclipseProjects\TEST\lib\odbccp32.dll

Пытаюсь добавить в Project=>Properties=>Paths and Symbols=>Library Paths папку D:\Vova\EclipseProjects\TEST\lib, выдает:

Код::

g++ -LD:\Vova\EclipseProjects\TEST\lib -oTEST.exe src\TEST.o
src\TEST.o: In function `main':
D:/Vova/EclipseProjects/TEST/Debug/../src/TEST.cpp:22: undefined reference to `SQLAllocHandle@12'
D:/Vova/EclipseProjects/TEST/Debug/../src/TEST.cpp:23: undefined reference to `SQLSetEnvAttr@16'
D:/Vova/EclipseProjects/TEST/Debug/../src/TEST.cpp:27: undefined reference to `SQLDataSources@32'
D:/Vova/EclipseProjects/TEST/Debug/../src/TEST.cpp:34: undefined reference to `SQLFreeHandle@8'

P.S. :: Сильно какашками меня не закидывайте, никогда ни писал клиента, да и вообще я программист БД, так что в этом не разбираюсь, только консольные прграмки на сишке писал без всяких там API  и всякой хрени... :((

Исправлено +VoFFka+ (27.08.10 12:07)

Offline

Программирование и БД » Подключение С++ к MS SQL 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.573 сек.
Выполнено 11 запросов.