Java URI不是分层的-使用JDBC创建InFas连接

Java URI不是分层的-使用JDBC创建InFas连接,java,Java,我的问题与我最近在使用java中的infa fas驱动程序连接Informatica Data Vault(IDV)时遇到的问题非常具体 背景介绍:IDV是一个文件系统,以类似于Oracle等常见数据库的格式存储结构化和非结构化数据。要连接,我使用以下代码: String username = buttonGroup.getSelection().getActionCommand(); // Selecting user from a radioButton String pwd = new S

我的问题与我最近在使用java中的infa fas驱动程序连接Informatica Data Vault(IDV)时遇到的问题非常具体

背景介绍:IDV是一个文件系统,以类似于Oracle等常见数据库的格式存储结构化和非结构化数据。要连接,我使用以下代码:

String username = buttonGroup.getSelection().getActionCommand(); // Selecting user from a radioButton
String pwd = new String(password.getPassword()); // Password from JPassword Field
String host = hostName.getText();   // Host and Database name resp.             
String database = dbName.getText();
// URL for connecting to IDV
String url = "jdbc:infafas:"+"//"+username+":"+pwd+"@"+host+":8501"+"/"+database;
DriverManager.registerDriver(new com.informatica.fas.jdbc.Driver()); // Driver class
当我使用EclipseIDE运行这个实用程序时,我也能够连接到数据库和查询。但当打包为jar时,会出现以下错误:

请让我知道我哪里错了,或者可以做什么修改

java.lang.IllegalArgumentException: URI is not hierarchical
        at java.io.File.<init>(Unknown Source)
        at com.informatica.fas.jdbc.FASConnection.<init>(FASConnection.java:465)
        at com.informatica.fas.jdbc.FASDriver.connect(FASDriver.java:168)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at org.rbs.gui.TargetConnectionPanel$2.actionPerformed(TargetConnectionP
anel.java:165)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$300(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.IllegalArgumentException:URI不是分层的
位于java.io.File。(未知源)
位于com.informatica.fas.jdbc.FASConnection.(FASConnection.java:465)
位于com.informatica.fas.jdbc.FASDriver.connect(FASDriver.java:168)
位于java.sql.DriverManager.getConnection(未知源)
位于java.sql.DriverManager.getConnection(未知源)
位于org.rbs.gui.TargetConnectionPanel$2.actionPerformed(TargetConnectionP
anel.java:165)
在javax.swing.AbstractButton.fireActionPerformed(未知源)
位于javax.swing.AbstractButton$Handler.actionPerformed(未知源)
在javax.swing.DefaultButtonModel.fireActionPerformed(未知源)
位于javax.swing.DefaultButtonModel.setPressed(未知源)
在javax.swing.plaf.basic.BasicButtonListener.mouseReleased(未知)
(行政长官)
位于java.awt.Component.ProcessMouseeEvent(未知源)
位于javax.swing.JComponent.ProcessMouseeEvent(未知源)
位于java.awt.Component.processEvent(未知源)
位于java.awt.Container.processEvent(未知源)
位于java.awt.Component.dispatchEventImpl(未知源)
位于java.awt.Container.dispatchEventImpl(未知源)
位于java.awt.Component.dispatchEvent(未知源)
位于java.awt.LightweightDispatcher.RetargetMouseeEvent(未知源)
位于java.awt.LightweightDispatcher.ProcessMouseeEvent(未知源)
位于java.awt.LightweightDispatcher.dispatchEvent(未知源)
位于java.awt.Container.dispatchEventImpl(未知源)
位于java.awt.Window.dispatchEventImpl(未知源)
位于java.awt.Component.dispatchEvent(未知源)
位于java.awt.EventQueue.dispatchEventImpl(未知源)
位于java.awt.EventQueue.access$300(未知源)
在java.awt.EventQueue$3.run处(未知源)
在java.awt.EventQueue$3.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知)
(行政长官)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知)
(行政长官)
在java.awt.EventQueue$4.run处(未知源)
在java.awt.EventQueue$4.run处(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(未知)
(行政长官)
位于java.awt.EventQueue.dispatchEvent(未知源)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源)
位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源)
位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.pumpEvents(未知源)
位于java.awt.EventDispatchThread.run(未知源)

刚刚发布代码您的IDV文件是否位于资源文件夹中?如果没有,它在哪里?@Emad-我已经在eclipse中配置了所需的jar文件(infafas.jar)的构建路径,该文件存在于我的本地系统目录中。请看:@Emad该链接用于资源文件夹中的文件。在我的情况下,这是关于在尝试注册驱动程序类时jar文件抛出错误的(上面代码的最后一行)。请告诉我允许访问这个jar的任何方法,因为其他jar非常容易访问