Пишу простенький интерфейс для ODBC'шных баз данных на C++. Под Windows DSN-less соединение проходит нормально, а вот под wine при выполнении SQLDriverConnect() выдается: ErrorMsg=[unixODBC]Could not find DSN in connect string Сдается мне, что причина в недоработанности ODBC-драйвера (libmdbtools), и что он не понимает параметр DBQ в строке соединения. В какую сторону копать ? Вот фрагмент текста программы: #define szDSN "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\test.mdb" .... nResult = pSQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv); printf("SQLAllocHandle: %d\n",nResult); nResult = pSQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); printf("SQLSetEnvAttr: %d\n",nResult); nResult = pSQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDBC); printf("SQLAllocHandle: %d\n",nResult); // nResult = pSQLConnect(hDBC, (SQLTCHAR *)szSource, SQL_NTS, (SQLTCHAR *)szUsername, SQL_NTS, (SQLTCHAR *)szPassword, SQL_NTS); nResult = pSQLDriverConnect(hDBC, NULL, (SQLTCHAR *)szDSN, SQL_NTS, (SQLTCHAR *)szDSNout, strlen((char *)szDSNout), (SQLSMALLINT *)aLength, SQL_DRIVER_NOPROMPT); printf("SQLDriverConnect: %d\n",nResult); /etc/odbcinst.ini: [{Microsoft Access Driver (*.mdb)}] Description = Microsoft Access Driver Driver = /usr/lib/libmdbodbc.so.0 Setup = FileUsage = 1 CPTimeout = CPReuse =
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Как открыть базу MSSQL, у которой имя - на русском, через FreeTDS ODBC ? (2007)
- Форум Odbc DSN к firebird во FreeBSD (2010)
- Форум undefined reference to `SQLAllocHandle' (2008)
- Форум Не могу настроить unixODBC (2013)
- Форум Oracle 11g XE и ODBC (2012)
- Форум С++ + OracleDB OCCI (2012)
- Форум ODBC access sniffing (2003)
- Форум MS Access приложения (2007)
- Форум Аналог MS Access? (2003)
- Форум Нет ли ODBC драйвера для MS Access под Linux сразу (2002)