Я пытаюсь установить связь между одним Mac и другим Mac по протоколу SFTP с использованием драйвера hxtt
Подробности см. Ниже:
Порт открыт: 22 * 1006 *
FileName: Test.csv
Файл, размещенный в папке: / Users / surajkudale / Documents / TestSharing
URL: jdbc: csv: / sftp: // myusername: mypassword@192.168.0.102/TestSharing/?_CSV_Separator =,; _ CSV_Header = true Запрос: выберите * из теста;
Использованные файлы JAR:
- Text_JDBC40.jar
- jcifs.jar
- jsch-0.1.50.jar
Исключение:
java.sql.SQLException: Failed to load table Test:2: No such file
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2833)
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:2185)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1295)
at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1267)
Пожалуйста, найдите программу ниже:
import java.sql.*;
import java.util.Properties;
import java.util.Date;
public class HXTTConnectionTest {
public static void main(String argv[]) {
try {
Class.forName("com.hxtt.sql.text.TextDriver").newInstance();
String url = "jdbc:csv:/sftp://mac2user:mac2password@192.168.0.102/TestSharing?_CSV_Separator=,";
String sql = "select * from Test";
Connection con = DriverManager.getConnection(url, "", "");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData resultSetMetaData = rs.getMetaData();
int iNumCols = resultSetMetaData.getColumnCount();
for (int i = 1; i <= iNumCols; i++) {
System.out.println(resultSetMetaData.getColumnLabel(i)
+ " " +
resultSetMetaData.getColumnTypeName(i));
}
rs.close();
stmt.close();
con.close();
}
catch (SQLException sqle) {
do {
sqle.printStackTrace();
sqle.printStackTrace();
}
while ((sqle = sqle.getNextException()) != null);
}
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
Ожидается, что он должен возвращать столбцы вместо исключения
Не могли бы вы помочь по этому вопросу.