[Microsoft][ODBC Microsoft Access Driver] '(unknown)' 不是一个有效的路径。

4
我已经创建了一个映射驱动器的DSN,就像这样:-
 Y:\\192.168.2.5\data\db.accdb

现在我正在使用Sun JDBC ODBC驱动程序从Java应用程序访问此数据库。 应用程序在运行Windows 2008 64位系统上,而数据库在运行Windows Server 2012 64位系统上。

当我使用64位Java运行此应用程序时,会出现架构不匹配的错误。

然后我安装了32位的Java,以上问题得到解决。但是又遇到了另一个问题:

  java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] '(unknown)' is
  not a valid path. Make sure that the path name is spelled correctly and that yo
  u are connected to the server on which the file resides. 

如何解决这个问题?

enter image description here

查看对于我的程序无效的数据库路径。此路径映射到Y:\192.168.2.5\shared驱动器。

5个回答

1
我发现,似乎映射的网络驱动器对于作为服务运行的IIS不可用。此外,我无法使用UNC路径创建DSN条目。因此,我创建了一个带有本地数据库的DSN,然后在Regedit中更改了路径。真是一件麻烦事。请确保提供正确的凭据(UID和PWD)。

0

我刚刚通过拼写完全限定的 DNS 名称来修复了这个连接字符串,而不是使用映射驱动器名称"H:"

不好的

sCN_ODBC = @"Driver={Microsoft Access Driver (*.mdb)}; Dbq=H:\vol01\IIT\Apps\Applications\MFG\User.mdb;Trusted_Connection=yes";

好的

sCN_ODBC = @"Driver={Microsoft Access Driver (*.mdb)}; Dbq=\\tstorage.iit.edu\depts$\vol01\IIT\Apps\Applications\MFG\User.mdb;Trusted_Connection=yes";

我在使用C# dotnet,这个帖子上的其他内容是关于Java和PHP的。

0
请使用有效的路径,这是问题所在。
Y:\\192.168.2.5\data\db.accdb

这个\是一个特殊字符。你需要注意。

Y:\\192.168.2.5\\data\\db.accdb

或者

Y:/192.168.2.5/data/db.accdb

如何将特殊字符 \ 替换为 \\。我正在“ODBC数据源管理员”窗口下创建系统DSN。 - Sunil
你不会从Microsoft控制面板中得到Java异常。请澄清你的问题,并指定你的Java版本。 - Elliott Frisch
1
我创建了一个简单的Java程序来访问*.accdb数据库。当该数据库位于同一台机器上时,没有错误。但是当数据库在远程系统中时,它会抛出“[Microsoft] [ODBC Microsoft Access Driver]”(未知)“不是有效路径”的异常。为了访问远程数据库,我创建了一个映射驱动器以访问*.accdb文件。然后我为这个映射文件创建了DSN。请参见我附加在这个问题中的图片。 - Sunil

0
总结一下,我敢打赌这是一个权限问题。
我遇到了完全相同的错误信息,感到困惑,因为之前它还能正常工作。原来是因为我在我的端口更改了Tomcat版本,但没有权限访问我的数据库资源。

0

我遇到了类似的问题,如果不是完全相同的话。

我安装了wamp。使用php访问网络上的mdb文件时,出现了路径未找到的消息。

所以我创建了一个普通的dsn配置,然后它看起来像这样:Y:\mydata.mdb

我在regedit中搜索了"y:\mydata.mdb"并找到了它。将其更改为完整路径,例如"\serverip\serverfolder\mydata.mdb"

这是在管理员用户上完成的。

我刷新了网页,它就可以工作了。希望这能帮助到某些人。

p.s. 匆忙写成,如果表述不清楚请见谅。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接