如何创建 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 存储到数据库