使用jdbc从远程计算机执行csv copy命令

时间:2012-04-11 06:10:25

标签: java postgresql jdbc

如何创建stdin对象作为参数传递给csv上传到db表的命令并用jdbc api执行

我试过的例子

DataInputStream in = new DataInputStream(new BufferedInputStream(
                new FileInputStream("C:/Documents and Settings/517037/Desktop/new.csv")));

copy temp123 from "+in.read()+" using delimiters '|'

但我在这里得到错误。

org.postgresql.util.PSQLException:错误:语法错误在“48”或附近   职位:19

任何人都可以帮助我

2 个答案:

答案 0 :(得分:1)

您是否尝试使用完整文件名调用copy命令,如:

copy temp123 from 'C:/Documents and Settings/517037/Desktop/new.csv' using delimiters '|'

如果它不起作用,那么你可以试试代码:

copy temp123 from stdin using delimiters '|'

然后通过重定向stdin:

来调用Java程序
c:\tmp>java my_import < "C:\Documents and Settings\517037\Desktop\new.csv"

答案 1 :(得分:0)

请通过以下链接了解如何存储BLOB或CLOB(二进制大对象)。它包含用于存储这些类型的完整示例列表。除此之外,请务必检查特定的数据库文档。

Storing CLOB or BLOB to DB