程序创建数据源(ODBC)
string GetAppDir(){
//获得程序所在路径
string szfile;
char szbuffer[200];
GetModuleFileName(NULL,szbuffer,200);
szfile = szbuffer;
int ipos = szfile.find_last_of("\\");
szfile = szfile.substr(0,ipos);
return szfile;
}
EXPORTDLL void configODBC(string szDBName){
//register ODBC
string szdir = GetAppDir();
string szfilepath = szdir + "\\"+szDBName;
char* szDesc;
int mlen;
szDesc=new char[256];
sprintf(szDesc,"DSN=%s? DESCRIPTION=TOC support source? DBQ=%s? FIL=MicrosoftAccess? DEFAULTDIR=%s?? ",
"LocatorDB",szfilepath.c_str(),szdir.c_str());
mlen = strlen(szDesc);
for (int i=0; i<mlen; i++){
if (szDesc[i] == '?')
szDesc[i] = '\0';
}
if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc))
cout<<"failed"<<endl;
}
浙公网安备 33010602011771号