用VC程序来创建SQL Server ODBC数据源

原创 2002年03月07日 09:00:00
  • 在发布与数据库相关的软件时,如果程序是用ODBC方式访问数据库,则需要在软件安装时创建ODBC数据源。

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

HKEY_LOCAL_MECHINE/Software/ODBC/ODBCINST.INI

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

HKEY_LOCAL_MECHINE/Software/ODBC/ODBC.INI

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

实现函数如下:

//////////////////////////////////////////////////////////////////
//Function:  MakeSQLServerODBCDSN
//
//Purpose: 配置SQL Server数据源
//Parameters:
//  [in]
//   strDBServer: 数据库所在主机
//   strDBName:  数据库名称
//   strDSN:   数据源名称
//   strUID:   登陆用户
//Return Value:
//  -1: 没有安装SQL Server驱动程序
//  -2: 其他错误
//   0: 成功
//////////////////////////////////////////////////////////////////
int MakeSQLServerODBCDSN(LPCTSTR strDBServer,LPCTSTR strDBName,LPCTSTR strDSN,LPCTSTR strUID)
{
 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;
}

 

 

VC动态建立ODBC数据源

动态创建数据源需要用到的API:SQLConfigDataSource,需要包含的头文件为:#include ,需要包含静态库:#pragma comment(lib, "ODBCCP32.lib")...
  • netanimals
  • netanimals
  • 2011年07月12日 17:25
  • 4466

WIN7下创建ODBC数据源到SQL Server的新数据源

北邮计算机数据库实验四需求 此方法是用JDBC-ODBC访问数据库(1)单击【开始】——》【控制面板】——》【ODBC】然后打开【ODBC数据源管理器】对话框(2)在【ODBC数据源管理器】对话框中...
  • u013007900
  • u013007900
  • 2016年04月16日 17:25
  • 7154

SQLserver2008数据源创建失败的解决方案

连接失败: SQLState:'01000' SQL Server 错误:14 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOp...
  • gzqhelloworld
  • gzqhelloworld
  • 2012年05月08日 20:34
  • 2933

配置SQL Server 2008 数据源(ODBC编程)

配置SQL Server 2008 数据源(ODBC编程) 1. 了解要配置的数据源服务器名称,以及数据库和对应表。 2. 打开控制面板,点击管理工具。 3. 双击数据源。 4...
  • u012025054
  • u012025054
  • 2014年05月28日 10:11
  • 5844

配置SQL Server的ODBC数据源

安装了SQL Server 2008之后,为了和学生信息管理系统的代码交互,所以要配置SQL Server的ODBC数据源。虽然只有简单的几步,但是遇到了不少问题。        第一步,运行SQL...
  • zjx86320
  • zjx86320
  • 2013年06月25日 16:47
  • 17766

win10操作系统的ODBC数据源配置sqlserver数据库

ODBC数据源全称是开放数据库互连(Open Database Connectivity),在微软公司开放的数据库结构中的一部分,其实就是一个应用程序的接口,主要用于提供数据库的编写应用程序的能力。 ...
  • cuiyaoqiang
  • cuiyaoqiang
  • 2016年02月21日 17:42
  • 12843

如何使用 SqlConfigDataSource 创建 ODBC 数据源

创建ODBC数据源可以调用Windows系统子目录下的动态链接库Odbcint.dll中的函数SQLConfigDataSource()该函数可以动态地增加、修改和删除数据源。SQLConfigDat...
  • stonesl
  • stonesl
  • 2007年07月03日 17:35
  • 1447

odbc数据源配置sql server出错 14

使用odbc数据源配置sql server链接时出现 错误14 有效解决方案 连接失败: SQLState: '01000'  SQL Server 错误: 14  [Microsoft][OD...
  • YSG___
  • YSG___
  • 2017年06月09日 21:40
  • 598

用数据源(ODBC)创建数据库连接DSN设置

首先应该安装SQL Server Native Client数据源驱动程序,驱动程序可在安装光盘中找到此驱动(类似路径X:\2052_CHS_LP\x64\Setup\x64\sqlncli.msi)...
  • kepa520
  • kepa520
  • 2015年12月25日 14:38
  • 3683

学生信息管理系统之——为什么要配置数据源及SQL Server 2012 ODBC 的配置

学生信息管理系统快弄完了,先在不断地修改着自己的问题,突然想起来ODBC 数据源的配置来了,以前只是知道 配置ODBC数据源是为了连接vb与SQL 实现vb与数据库的完美交互。但仔细想想,还是不知道其...
  • u013067402
  • u013067402
  • 2014年07月21日 17:26
  • 2164
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用VC程序来创建SQL Server ODBC数据源
举报原因:
原因补充:

(最多只允许输入30个字)