无法连接到共享驱动器上的数据库 – UCanAccess
我已经设置我的应用程序通过UCanAccess连接到Access数据库但是我无法连接到位于共享驱动器上的数据库。 请参阅下面的示例。
String databasePath = "jdbc:ucanaccess://C:/Desktop/MyDB.accdb" \\\\ this works String databasePath = "jdbc:ucanaccess://servername/etc/MyDB.accdb" \\\\ does not work and throws no suitable driver found exception
有趣的是,当我将共享驱动器上的文件夹映射到某个字母时,例如P: – 它成功连接。
String databasePath = "jdbc:ucanaccess://P:/servername/etc/MyDB.accdb" \\\\ this works
有可能绕过这个吗? 我的用户对该文件夹具有r / w权限,但我不想在每台计算机上映射驱动器。 谢谢
您只是在连接URL中没有足够的正斜杠来表示UNC路径。 如您C:\Desktop\MyDB.accdb
,对于C:\Desktop\MyDB.accdb
的本地连接,您可以使用
String databasePath = "jdbc:ucanaccess://C:/Desktop/MyDB.accdb";
同样,对于\\servername\etc\MyDB.accdb
的UNC连接,您可以使用
String databasePath = "jdbc:ucanaccess:////servername/etc/MyDB.accdb";
数据库驱动程序只能处理他指定的协议。 大多数jdbc驱动程序只能处理其特定数据库服务器的网络协议。
您正在使用访问jdbc驱动程序,该驱动程序只能处理对给定accdb文件的文件访问。
当你尝试一个url时:
JDBC:ucanaccess://servername/etc/MyDB.accdb
驱动程序使本地文件访问此路径,该路径不存在于localy中。 您期望的是,驱动程序将构成与您的服务器的SMB / CIFS连接,但他不能!
您必须将操作系统上的SMB / CIFS共享映射到本地驱动器盘符。 因为操作系统正在处理网络SMB / CIFS的东西。 JDBC驱动程序可以像访问本地文件一样访问该文件。
- Struts 2 Junit测试用例执行失败(StrutsTestCase.getActionProxy:138»NullPointer)
- 与System.out关联的Java线程的奇怪行为
- Java接口方法:每个类应该实现一个接口吗?
- 调试时强制exception
- ibatis spring java.lang.NoSuchMethodError com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse
- 如何为jquery自动完成文本字段添加selenium测试覆盖率
- 当并非所有使用的堆都可以从线程访问时查找Java内存泄漏
- 使用java从另一个系统访问mysql数据库
- 为什么我的Runnable Jar文件不起作用