使用 UCanAccess 和 Apache Commons Net 从远程服务器中的数据库读取数据
Reading from a Database in a remote Server using UCanAccess and Apache Commons Net
我有一个 java 应用程序需要从数据库读取数据。
我可以通过使用 UCanAccess 驱动程序读取 .accdb 文件 (Microsoft Access) 来简单地做到这一点。
public boolean connect()
{
System.out.println("\n\nconnecting to database......\n\n");
try { //connect to the database
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
con = DriverManager.getConnection("jdbc:ucanaccess://C:/Users/C92/Desktop/Database1.accdb");
st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
return true;
}
catch(Exception e)
{
System.out.println(e);
return false;
}
}
我还有一个连接到服务器(运行 by FileZilla)的客户端程序,它使用 Apache Commons Net 将文件从服务器传输到客户端。
ftpClient = new FTPClient();
ftpClient.connect(serverName, 21);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
当我想从该数据库中读取时,问题就出现了,但这次是在我连接的服务器上。我不知道如何结合这两种实现(Apache Commons Net 和 UCanAccess)来读取服务器中的 .accdb 文件。
如果您熟悉网络,请帮我解决这个问题。谢谢!
我相当确定没有办法让 UCanAccess 直接打开驻留在 FTP 服务器上的数据库文件。即使像 Apache Commons VFS 这样的机制显然也没有提供直接操作或将远程文件转换为 java.io.File
对象的方法。
因此您需要先下载数据库文件,然后在UCanAccess连接中包含本地副本的绝对路径URL。
我有一个 java 应用程序需要从数据库读取数据。 我可以通过使用 UCanAccess 驱动程序读取 .accdb 文件 (Microsoft Access) 来简单地做到这一点。
public boolean connect()
{
System.out.println("\n\nconnecting to database......\n\n");
try { //connect to the database
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
con = DriverManager.getConnection("jdbc:ucanaccess://C:/Users/C92/Desktop/Database1.accdb");
st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
return true;
}
catch(Exception e)
{
System.out.println(e);
return false;
}
}
我还有一个连接到服务器(运行 by FileZilla)的客户端程序,它使用 Apache Commons Net 将文件从服务器传输到客户端。
ftpClient = new FTPClient();
ftpClient.connect(serverName, 21);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
当我想从该数据库中读取时,问题就出现了,但这次是在我连接的服务器上。我不知道如何结合这两种实现(Apache Commons Net 和 UCanAccess)来读取服务器中的 .accdb 文件。
如果您熟悉网络,请帮我解决这个问题。谢谢!
我相当确定没有办法让 UCanAccess 直接打开驻留在 FTP 服务器上的数据库文件。即使像 Apache Commons VFS 这样的机制显然也没有提供直接操作或将远程文件转换为 java.io.File
对象的方法。
因此您需要先下载数据库文件,然后在UCanAccess连接中包含本地副本的绝对路径URL。