请问一下我为什么老是注册数据源不成功呀!注册数据源的代码如下:
int ft;
if(m_set==NULL)
{
ft=SQLConfigDataSource(NULL,
ODBC_ADD_DSN,
"Microsoft Access Driver(*.mdb)",
"DSN=Company\0" "Description=fang wu yuan\0"
"FileType=Microsoft Access\0"
"DBQ=C:\\PHONE.mdb\0"
"MaxScanRows=20\0" ); if(!ft)
{
AfxMessageBox("无法创建数据源!!!!!");
m_DSOK=false;
return;
}
每次运行他都是说‘无法创建数据源!!!!!’。希望好心人能帮帮我看!
int ft;
if(m_set==NULL)
{
ft=SQLConfigDataSource(NULL,
ODBC_ADD_DSN,
"Microsoft Access Driver(*.mdb)",
"DSN=Company\0" "Description=fang wu yuan\0"
"FileType=Microsoft Access\0"
"DBQ=C:\\PHONE.mdb\0"
"MaxScanRows=20\0" ); if(!ft)
{
AfxMessageBox("无法创建数据源!!!!!");
m_DSOK=false;
return;
}
每次运行他都是说‘无法创建数据源!!!!!’。希望好心人能帮帮我看!
{
BOOL bInstallDriver=TRUE;
CRegKey regKey;
LONG lRet=regKey.Open(HKEY_LOCAL_MACHINE,"Software\\ODBC\\ODBCINST.INI\\SQL Server");
if(lRet!=ERROR_SUCCESS)
{
bInstallDriver=FALSE;
}
else
{
char szDirverPath[MAX_PATH]="";
DWORD dwCount=100;
lRet=regKey.QueryValue(szDirverPath,"Driver",&dwCount);
if((lRet!=ERROR_SUCCESS)||(dwCount<1))
{
DWORD dwErr=GetLastError();
bInstallDriver=FALSE;
}
regKey.Close();
}
if(!bInstallDriver)
{
return -1;
}
CString strKeyValueName="Software\\ODBC\\ODBC.INI\\";
strKeyValueName+=strDSN;
lRet=regKey.Create(HKEY_LOCAL_MACHINE,strKeyValueName);
if(lRet!=ERROR_SUCCESS)
{
return -2;
}
regKey.SetValue(strDBName,"Database");
regKey.SetValue("SQLSrv32.dll","Driver");
regKey.SetValue(strDBServer,"Server");
regKey.SetValue(strUID,"LastUser");
regKey.m_hKey=HKEY_LOCAL_MACHINE;
regKey.SetKeyValue("Software\\ODBC\\ODBC.INI\\ODBC Data Sources","SQL Server",strDSN);
regKey.Close();
return 0;