OLEDB 使用 DSN 连接到 Access 数据库
Posted
技术标签:
【中文标题】OLEDB 使用 DSN 连接到 Access 数据库【英文标题】:OLEDB connection to Access database using DSN 【发布时间】:2009-04-03 10:32:13 【问题描述】:喂
我想要使用 Dsn 的 oledb 连接。我使用了以下代码
'Dsn Create
dbRegBase.RegisterDatabase("GEMINI", "Microsoft Access Driver (*.mdb)", True,DBQ=D:\Gemini\GEMINI\database\paints_01_2008-2009.mdb
Description=Greenchip Technologies ODBC Database File Path
OemToAnsi=No
UID=admin
PWD=XXXXXX
conection code
Provider=Microsoft.Jet.OLEDB.4.0;DBQ ='GEMINI';Persist Security Info=False;Jet OleDB:Database Password = XXXXXX
但错误来了,错误名称是“找不到可安装的 ISAM” 我做什么 。请告诉我。
【问题讨论】:
尽量不要在公共网站上发布密码... 【参考方案1】:我的问题是为什么有人想使用 odbc?有许多网站展示了 oledb 与 odbc 的速度改进。此外,odbc 已经有一段时间没有更新了,而且非常有问题。
【讨论】:
哪个更好完全取决于您从哪个开发平台连接到数据库,以及您如何使用它。以及可用的驱动程序。而且,OLEDB 也存在问题,因为它的接口(ADO 和 ADO.NET)并非在所有情况下都可用。此外,对于 Access 文件,OLEDB 不能接受数据库密码,因此如果您有受密码保护的 MDB/ACCDB,则必须使用 ODBC。【参考方案2】:是否需要是 OleDB 连接?
我尝试在我最近的应用程序中使用 OleDB,但惨遭失败,但使用 OdbcConnection 和 DSN 进行管理。
String query = "SELECT * FROM myTable"; //Complete this for your specific query
OdbcConnection con = new OdbcConnection("DSN=DatabaseName");
OdbcCommand com = new OdbcCommand("Query...", con);
try
con.Open();
OdbcReader reader = com.ExecuteReader();
while(reader.Read())
//Do things with the results
catch(Exception ex)
//Exception handling
我认为比使用 OleDB 友好得多。
【讨论】:
您需要将 DatabaseName 添加到 DSN 并创建适当的查询来创建 OdbcCommand。您还需要一个 OdbcDataReader 来读取您查询的内容。以上是关于OLEDB 使用 DSN 连接到 Access 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ASP.Net 数据源通过 ODBC DSN 连接到 Access 数据库?
从MS-Access连接到sql server而不创建DSN
使用 OleDb 从 Access Forms 连接到 SQL Server