使用 JDBC 从远程计算机执行 CSV 复制命令



如何创建 stdin 对象作为参数传递,以将用于 csv 上传的命令复制到数据库表中并使用 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

任何人都可以在这方面帮助我吗

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

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

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

copy temp123 from stdin using delimiters '|'

然后通过重定向标准输入来调用您的 Java 程序:

c:tmp>java my_import < "C:Documents and Settings517037Desktopnew.csv"

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

将 CLOB 或 BLOB 存储到数据库

最新更新