SQL Server ODBC数据源创建,用VC程序即可


  本文标签:SQL Server ODBC数据源

  以下的文章主要描述的是用VC程序来对SQL Server ODBC数据源进行创建的实际操作流程,在发布与数据库相关的软件之时,如果你所用的程序是用ODBC方式对数据库进行访问,则需要在软件安装时创建ODBC数据源  。

  SQL Server ODBC数据源的一些信息都存放在注册表中  。

  1. HKEY_LOCAL_MECHINE\Software\ODBC\ODBCINST.INI 

  从此键下可得知系统是否已经安装SQL Server驱动程序

  1. HKEY_LOCAL_MECHINE\Software\ODBC\ODBC.INI 

  从此键下可得知系统已经建立的数据源.

  实现函数如下:

  1. Function: MakeSQLServerODBCDSN 

  Purpose: 配置SQL Server数据源

  Parameters:

  [in]

  strDBServer: 数据库所在主机

  strDBName: 数据库名称

  strDSN: 数据源名称

  strUID: 登陆用户

  Return Value:

  -1: 没有安装SQL Server驱动程序

  -2: 其他错误

  0: 成功

  1. int MakeSQLServerODBCDSN(LPCTSTR strDBServer,LPCTSTR strDBName,LPCTSTR strDSN,LPCTSTR strUID)  
  2. {  
  3. BOOL bInstallDriver=TRUE;  
  4. CRegKey regKey;  
  5. LONG lRet=regKey.Open(HKEY_LOCAL_MACHINE,"Software\\ODBC\\ODBCINST.INI\\SQL Server");  
  6. if(lRet!=ERROR_SUCCESS)  
  7. {  
  8. bInstallDriver=FALSE;  
  9. }  
  10. else  
  11. {  
  12. char szDirverPath[MAX_PATH]="";  
  13. DWORD dwCount=100;  
  14. lRet=regKey.QueryValue(szDirverPath,"Driver",&dwCount);  
  15. if((lRet!=ERROR_SUCCESS)||(dwCount<1))  
  16. {  
  17. DWORD dwErr=GetLastError();  
  18. bInstallDriver=FALSE;  
  19. }  
  20. regKey.Close();  
  21. }  
  22. if(!bInstallDriver)  
  23. {  
  24. return -1;  
  25. }  
  26. CString strKeyValueName="Software\\ODBC\\ODBC.INI\\";  
  27. strKeyValueName+=strDSN;  
  28. lRet=regKey.Create(HKEY_LOCAL_MACHINE,strKeyValueName);  
  29. if(lRet!=ERROR_SUCCESS)  
  30. {  
  31. return -2;  
  32. }  
  33. regKey.SetValue(strDBName,"Database");  
  34. regKey.SetValue("SQLSrv32.dll","Driver");  
  35. regKey.SetValue(strDBServer,"Server");  
  36. regKey.SetValue(strUID,"LastUser");  
  37. regKey.m_hKey=HKEY_LOCAL_MACHINE;  
  38. regKey.SetKeyValue("Software\\ODBC\\ODBC.INI\\ODBC Data Sources","SQL Server",strDSN);  
  39. regKey.Close();  
  40. return 0;  
  41. }  

  以上的相关内容就是对用VC程序来创建SQL Server ODBC数据源的介绍,望你能有所收获  。