C#连接 ODBC 数据源时的默认驱动程序问题

最近在做一个程序,需要在C#中连接ODBC数据源。ODBC是开放数据库连接(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
首先在控制面板\管理工具中找到数据源(ODBC),双击打开后为数据库创建ODBC。

注意,如果是64位的操作系统,其32位的数据源(ODBC)程序位于C:\Windows\SysWOW64下面,名称是odbcad32.exe。如果连接的数据库是32位的(比如ACCESS),就需要从这里找。

本次使用的数据库正好是ACCESS的,所以按以上方法找到odbcad32.exe, 运行后在ODBC数据源管理器建立系统DSN, 假设为数据源起名为Type2k,选择好数据库后确定,如图所示。
C#连接 ODBC 数据源时的默认驱动程序问题_第1张图片
然后在C#工程中定义连接字符串,

public string connectionstr = "Dsn=Type2k";

据网上的说法只定义Dsn就可以了,然后用这个连接字符串打开数据库时报错:

ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

看样子是默认驱动程序出了问题,于是指定默认驱动程序:

public string connectionstr = "Provider=Microsoft.Jet.OLEDB.4.0;Dsn=Type2k";

测试连接成功!

你可能感兴趣的:(c#,数据库,odbc,数据库,c#)