2011-06-06 45 views
0

在连接到在以下路径中找到的访问数据库时遇到问题:C:\ tgs_webedit \ pool \ n_pool.mdb。连接到访问数据库的问题

即时通讯使用odbc连接和我的问题是在以下行: OdbcConnection DbConnection = new OdbcConnection(“DNS = C:\ tgs_webedit \ pool \ n_pool.mdb”);

即时得到以下错误:System.Data.Odbc.OdbcException:ERROR [IM002] [微软]找不到[ODBC驱动程序管理器]数据源名称并没有指定默认驱动程序

任何帮助将不胜感激。

回答

1

尝试将其更改为这样:

OdbcConnection DbConnection = new OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};DBQ = C:\\tgs_webedit\\pool\\n_pool.mdb"); 

如果你想使用DSN,那么不提供路径mdb文件(并把DSN在连接错误字符串中的DNS代替)。如果您要使用路径,请使用DBQ并跳过斜杠。下面是越过这一切的一个很好的链接:

http://msdn.microsoft.com/en-us/library/system.data.odbc.odbcconnection.connectionstring.aspx

+0

我使用了你的建议,并且得到了更多的错误:不是有效的文件名。和一般警告无法打开注册表项'Temporary(易失性)Jet DSN进程0x140c线程0x1368 DBC 0x4cfc64c Jet' – dadasda 2011-06-06 18:47:10

+0

你是否肯定该文件存在?你的路上没有任何错别字? – 2011-06-06 19:17:02

1

的语法问题:

要么使用@ -string OdbcConnection(@"DNS = C:\tgs_webedit\pool\n_pool.mdb");或逃避反斜杠OdbcConnection("DNS = C:\\tgs_webedit\\pool\\n_pool.mdb");

的功能问题:

ODBC DSN连接应指定在ODBC数据源中定义的DSN 名称。司机可能会“做正确的事情” - 或不。为了节省成本,请用标准方式测试您的连接*。

  • 标准方式

使用 “控制面板” - “管理任务” - “数据源(ODBC)” 添加用户或系统DSN。选择Access驱动程序,指定数据源名称并选择/浏览您的n_pool.mdb。然后您可以测试连接并设置一些选项。在连接字符串中使用数据源名称。 (使用Abe Miessler的方式(dsn-less连接)可能会更快地尝试,但数据源GUI使查找问题更容易)

+0

我怎样才能以标准的方式获得它?任何可以帮助的链接? – dadasda 2011-06-06 18:49:50

0

您可能会遇到x64的问题,Microsoft JET4.0仅适用于x86(或者我可能总是错误的,这对JET和非移植问题没有任何影响到x64)