我想使用hsqldb连接到远程CSV,并将其转换为文本表。有人能指导我需要遵循的步骤吗?我的代码:
String url1 = "jdbc:hsqldb:file:197.161.16.16//data10//projects//2//hsqldb";
long currMilli = System.currentTimeMillis();
String tableName = "MRx" + currMilli;
final StringBuilder createTable = new StringBuilder();
final StringBuilder setDatabase = new StringBuilder();
setDatabase.append("SET DATABASE SQL SYNTAX ORA TRUE ");
createTable.append("CREATE TEXT TABLE" + " " + tableName);
createTable.append(columnNames);
final StringBuilder linkTable = new StringBuilder();
linkTable.append("SET TABLE" + " " + tableName + " SOURCE ");
linkTable.append("\"/" + "some.csv");
linkTable.append(";ignore_first=true;all_quoted=true;shutdown=true\"");
try {
conn = DriverManager.getConnection(url1, "sa", "");
stm = conn.createStatement();
stm.execute(createTable.toString());
stm.execute(linkTable.toString());
countResult = stm.executeQuery("Select count(*) from " + tableName);
int totalCount = 0;
while (countResult.next()) {
totalCount = countResult.getInt(1);
}
....................... // more code ...............即使CSV有数据,select语句也不返回任何内容。但是,如果我将相同的CSV复制到本地系统,并连接到它并读取它,我可以获取数据吗?有人能给我一点提示吗?我哪里错了!
发布于 2013-03-08 05:38:01
这是CSV文件的路径问题。通常,HSQLDB将路径视为数据库文件的相对路径。如果some.csv文件与数据库文件在同一文件夹中,则它应该可以工作。
注意:;shutdown=true不属于文本表属性文件。您可以将其附加到UR
https://stackoverflow.com/questions/15242305
复制相似问题