使用DBI :: DatabaseHandle#execute或DBI :: DatabaseHandle#准备好无法运行sql脚本(使用多个sql语句)。它失败,出现以下错误:从Ruby运行sql脚本
错误:无法插入多个命令插入事先准备好的声明
我试图用使用DBI :: DatabaseHandle#做到“措手不及”的方式(商务部说,“去直接到DBD的实现“),但它一直抛出相同的错误。
代码片断:
require 'dbd/pg'
require 'dbi'
DBI.connect("dbi:pg:database=dbname", db_user, db_password, db_params) do |dbh|
schema = IO::read(schema_file)
dbh.do(schema)
end
我使用
红宝石1.8.6(2007-09-24 PATCHLEVEL 111)[I386-mswin32]
DBI-0.4.3
DBD-PG-0.3.9
PG-0.9.0 86 mswin32
谢谢!
为了运行多个准备好的查询我需要使用一些SQL解析器我想分析SQL脚本?如何在ruby中做到这一点? 我不明白你使用函数的要点。 – nakhli 2010-03-10 09:02:18
我在谈论一个PostgreSQL函数,而不是一个ruby函数。 – 2010-03-11 17:41:08