WIN7/WIN10下C#使用ODBC连接GAUSSDB T的数据源配置方法[转]
windows下的GAUSSDB T ODBC驱动暂未正式发布,当前仅为研发内部调测用,详情咨询华为相关支撑人员
使用ODBC(Open Database Connectivity,开放数据库连接)连接数据库首先需要配置ODBC数据源
(Windows下为配置注册表,linux下需安装unixodbc并配置odbc.ini和odbcinst.ini文件)
微软ODBC 数据源介绍https://docs.microsoft.com/en-us/sql/odbc/admin/managing-data-sources?view=sql-server-ver15
ODBC的基础架构https://www.cnblogs.com/mumuxinfei/p/3720799.html
1.在win10系统上,双击.reg文件修改注册表(以64位OS为例);
修改完后,打开ODBC 数据源管理程序(64 位)可以看到相应的数据源:
注册表信息:
注意:
myzenith为dsn,应用程序代码里的连接字符串请指定dsn=myzenith
32位应用程序---HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI\myzenith---32位odbc驱动
64位应用程序---HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\myzenith---64位odbc驱动
配置完成后,打开C#应用程序,选择对应的编译环境,执行OdbcConnection::open()接口,若不报错,则数据库连接成功!
注意:
zenith为DSN名称,Username和Password为数据库用户名和密码,需拥有create session权限(若数据库在远端,则不可以使用sys用户登录)。ODBCINIST.INI中的内容可以不配置,但若配置,系统寻找Driver路径会以ODBCINST.INI中的为准,Servername和Port为数据库服务端的**IP和端口。Database为数据库实例名,目前GAUSSDB仅支持单实例,所以此配置项可有可无。
( FAQ ):
1、若未配置应用程序对应编译环境的数据源,会抛“在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配错误”
2、若在对应的注册表中配置为错误编译环境的ODBC驱动(如在64位注册表中配置32位驱动或在32位注册表中配置64位驱动)或是驱动路径错误,会抛“指定驱动程序无法加载”
3.还有一种错误是由于系统错误 126:找不到指定的模块。 。。。。执行驱动程序无法加载
这是因为缺少一些系统库导致的,可以安装VS2017解决,或者在系统目录下增加ucrtbased.dll和vcruntime140d.dll
转自 http://3ms.huawei.com/km/blogs/details/6872155
- 点赞
- 收藏
- 关注作者
评论(0)