SQLConfigDataSource自动配置数据源
2015-04-24 17:40
411 查看
SQLConfigDataSource自动配置数据源
SQLConfigDataSource()的原型如下:
BOOL SQLConfigDataSource(HWND hwndParent, UINT fRequest, LPCSTR IpszDriver, LPCSTR IpszAttributes);其中四个参数的用法如下:
●参数hwndPwent是父级窗口句柄。如果句柄为NULL,将不会显示一些有关的对话框。如果参数 IpszAttributes提供的信息不够完善,在创建过程中就会出现对话框要求用户提供相应信息。
●参数fRequest可以设置为下面的数值之一:
ODBC_ADD_DSN: 增加_个新数据源
ODBC_CONHG_DSN: 配置(修改)一个已经存在的数据源
ODBC_REMOVE_DSN: 删除一个已经存在的数据源
ODBC_ADD_SYS_DSN: 增加一个新的系统数据源
ODBC_CONFIG_SYS_DSN: 更改一个已经存在的系统数据源
ODBC_REMOVE_SYS_DSN: 删除一个已经存在的系统数据源
●参数lpszDriver是数据库引擎名称,可以参见ODBC管理器中对ODBC驱动程序的描述。比如要加载的是Excel数据库,那么数据库引擎名称就为Microsoft Excel Driver(*.xls)
●参数lpszAttributes为一连串的"KeyName=value"字符串,每两个KeyName值之间用\0""字符隔开(或者\0隔开即可)。KeyName主要是新数据源缺省的驱动程序注册说明,其中最主要的关键字是"DSN"(新数据源的名称)和"DBQ"(数据源的地址),其余关键字则根据不同的数据源有不同要求。关于lpszAttributes参数的具体设置,详细可以参考Windows系统目录下帮助文件Odbcjtn.hlp主题目录标签中的"ODBC API函数改变|SQLConfigDatasource"条目。
代码示例
<span style="white-space:pre"> </span>TCHAR strCurDrt[500];::GetModuleFileName(NULL,strCurDrt,500);
CString strFileName = strCurDrt;
strFileName.Delete(strFileName.ReverseFind('\\')+1,strFileName.GetLength()-strFileName.ReverseFind('\\')-1);
CString tempFileName=strFileName;
//设置数据源
CString ODBCFileName=tempFileName;
TCHAR sz[101];
memset(sz,0,sizeof(TCHAR)*101);
tempFileName += "AttendMIS.ini";
GetPrivateProfileString(_T("General"),_T("ODBC数据源名称"),_T("misdb"),sz,100,tempFileName);
CString ODBCname(sz);
GetPrivateProfileString(_T("General"),_T("数据库用户"),_T("dbattend"),sz,100,tempFileName);
g_strDBUser=sz;
GetPrivateProf
4000
ileString(_T("General"),_T("数据库密码"),_T("dbattend"),sz,100,tempFileName);
g_strDBPassword=sz;
ODBCFileName += ODBCname+".mdb";
char* szDesc = new char[256];
sprintf(szDesc,"DSN=%s?DBQ=%s?UID=%s?PWD=%s??",ODBCname,ODBCFileName,g_strDBUser,g_strDBPassword);
int nlen = strlen(szDesc);
for (int i=0; i<nlen; i++)
{
if (szDesc[i] == '?')
szDesc[i] = '\0';
}
if(!SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",
(LPCSTR)szDesc))
AfxMessageBox("数据源没有动态载入");
delete [] szDesc;
//连接数据库
ConnectDB();
相关文章推荐
- vs2010下MFC解决自动配置数据源函数SQLConfigDataSource第四个参数字符串问题
- [转]使用SqlConfigDataSource实现ODBC数据源配置
- 配置generatorConfig.xml自动生成的代码的sql书写问题
- VC中用SQLConfigDataSource配置Oracle的ODBC数据源
- SQLConfigDataSource--动态设置数据源--函数说明及简单举例
- 如何使用 SqlConfigDataSource 创建 ODBC 数据源
- 使用SqlConfigDataSource实现ODBC数据源配置
- 使用SqlConfigDataSource实现ODBC数据源配置
- 通过weblogic配置log4jdbc数据源,在项目中使用该数据源,输出sql
- ASP.NET 3.5核心编程学习笔记(19):数据源组件、SqlDataSource控件
- spring中配置数据源DBCP:basicDataSource和spring提供的DriverManagerDataSource的区别
- C#中,datagridview与sql数据源绑定后,通过控件更改数据如何自动回写更新到数据源
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)
- tomcat的sql server数据源的配置
- Web.config数据源配置
- 自动装配、JavaConfig、XML 三种方案之间,怎么导入和混合配置?
- 5.Spark SQL:Parquet数据源之自动分区推断
- PLSQl如何 配置快键键 自动生成SQL
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)