在postgreSQL中,我们可以选择使用lo_import方法将文件导入数据库,该方法返回一个OID,我们可以将文件从数据库导出到文件系统。 例如: 描述测试表
命名文字,file_id oid
insert into test values('arul_test',lo_import('/home/arul/test.txt'));
准备好的陈述将是
insert into test values(?,?);
准备好的名称声明将是SQLCHAR
file_id的准备语句是什么(注意:这里需要考虑lo_import id)
答案 0 :(得分:1)
准备的查询应该是
insert into test values(?,lo_import(?));
您的提案insert into test values(?,?)
无效,因为您无法提交SQL函数调用(lo_import
)作为占位符(?
)的值。占位符仅适用于文字值适合的位置。
当您询问field_id
的准备语句时,您可能意味着什么是ODBC类型,但事实证明需要传递的是文件名,因此类型为SQLCHAR