【SQL开源代码栏目提醒】:网学会员为需要SQL开源代码的朋友们搜集整理了用VC 实现ODBC数据源设置 - 技术总结相关资料,希望对各位网友有所帮助!
为了使ODBC能与数据库一起工作必须把数据库注册到ODBC驱动程序管理器这项工作可以通过定义一个DSN或数据源名字来完成。
通常我们只能手动打开系统控制面板运行其中的ODBC数据源管理器手工配置数据源但是这项工作对用户而言过于复杂我们必须考虑用程序替用户完成这些配置工作。
1 SQLConfigDataSource 函数说明 ODBC API提供了动态创建数据源的函数SQLConfig DataSource。
该函数的原型如下 BOOL SQLConfigDataSource HWND hwndParentWORD fRequest LPCSTR lpszDriverLPCSTR lpszAttributes 参数说明如下 1参数hwndParent用于指定父窗口句柄在不需要创建数据源对话框时可以将该参数指定为NULL。
2参数fRequest用于指定函数的操作内容取值如下 ODBC_ADD_DSN 加入一个新的用户数据源 ODBC_CONFIG_DSN修改一个存在的用户数据源 ODBC_REMOVE_DSN除一个存在的用户数据源 ODBC_ADD_SYS_DSN增加一个新的系统数据源 ODBC_CONFIG_SYS_DSN配置或者修改一个存在的系统数据源 ODBC_REMOVE_SYS_DSN删除一个存在的系统数据源 ODBC_REMOVE_DEFAULT_DSN删除省缺的数据源说明部分。
3参数lpszDriver用于指定ODBC数据源的驱动 程序类别例如为了指定Access数据源该参数应赋以字符串“Microsoft Access Driver .mdb0”对
SQL SERVER数据源则应赋以字符串“
SQL Server”。
4参数lpszAttributes用于指定ODBC数据源属性。
例如 ① 对Access数据源 DSN MYIMAGE0 DBQD:ImageProcessimage.mdb0 DEFAULTDIR D:ImageProcess00 说明该字符串指定数据源名称DNS为MYIMAGE数据库文件DBQ为D:ImageProcessimage.mdb 缺省数据库文件路径DEFAULTDIR 为D:ImageProcess 。
② 对
SQL SERVER数据源 DSNMYIMAGE0 SERVERMYET0 DATABASEImage 说明该字符串指定数据源名称DSN为MYIMAGESQLSERVER 数据库服务器名SERVER为 MYET数据库名称DATABASE为Image。
2 两个需要注意的问题 1当我们使用SQLConfigDataSource ODBC API函数时必须声明包含系统的odbcinst.h头文件所以我们再选择workspace窗口中FileView打开Header Files中Imageprocess.h在其中加入include“odbcinst.h”。
2SQLConfigDataSource 这个API函数时候必须用到odbccp32.dll它是Microsoft 提供的32 位ODBC安装和管理的DLL如果是16 位必须用到odbcinst.dllodbccp32.dll 有一个import library所以解决的办法就是把这个odbccp32.lib加到我们的项目中我们可以打开 Project系统菜单项选Add to Project子菜单在其中选Files项打开VC安装目录下的vclib目录文件类型选Library Files.lib 选择其中odbccp32.lib后按OK键。
3 程序
代码 从上文看出设置参数lpszAttributes时需要设置数据库文件的路径为了方便用户的使用可以将数据库文件保存到该项目的debug文件夹下通过程序实现自动获取数据库文件路径的功能
代码如下 CString szPath GetModuleFileNameNULLsPath.GetBufferSetLengthMAX_PATH1MAX_PATH szPath.ReleaseBuffer int nPos nPosszPath.ReverseFind ’’ szPathszPath.Left nPos CString szFile sPath image.mdb char szAtr256 sprintfszAtrDSNsDBQsDEFAULTDIRs MYIMAGE szFileszPath int nlen nlen strlenszAtr for int i0 i
上一篇:
C#WEB编程 源码
下一篇:
你有多稳,就能做多大的事