Использование ODBC в Visual C++ - Настройка ODBC и текущий каталог

ОГЛАВЛЕНИЕ

Настройка ODBC и текущий каталог

Настройка драйвера ODBC требует каталог, где будут хранится файлы. Естественно, что каталог может и не присутствовать на компьютере. Наиболее надежно использовать тот каталог откуда запущена программа. Ниже предлагается один из способов. Здесь получается текущий каталог и собирается на основе него строка конфигурации. Все параметры перечисляются через точку с запятой. Как ни странно, но это работает. Зато не нужно замены конечных символов параметров на \0\0.

// TestMyDir.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include "afxwin.h"
#include "odbcinst.h"
#include "iostream.h"

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

void main()
{
char buffer_path[100];
GetCurrentDirectory(sizeof(buffer_path),buffer_path);
CString path=buffer_path;
CString temp;
temp="DSN=New Excel Data Source;";
temp+="Description=New Excel Data Source;";
temp+="DriverId=278;";
temp+="DefaultDir=";
temp+= path;
temp+=";MaxScanRows=8;\0\0";
char *szAttributes=temp.GetBuffer(temp.GetLength());

if (!SQLConfigDataSource(NULL,ODBC_ADD_DSN,
"Microsoft Excel Driver (*.xls)",szAttributes))
{
cout << "Error config ODBC" << endl;
}
}