【发布时间】:2010-03-09 15:54:11
【问题描述】:
使用 DBI::DatabaseHandle#execute 或 DBI::DatabaseHandle#prepare 无法运行 sql 脚本(带有多个 sql 语句)。它失败并出现以下错误:
错误:无法在准备好的语句中插入多个命令
我尝试使用 DBI::DatabaseHandle#do 使用“未准备好”的方式(文档说它“直接进入 DBD 的实现”)但它一直抛出相同的错误。
代码sn-p:
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
我正在使用
ruby 1.8.6 (2007-09-24 补丁级别 111) [i386-mswin32]
dbi-0.4.3
dbd-pg-0.3.9
pg-0.9.0-x86-mswin32
谢谢!
【问题讨论】:
标签: ruby postgresql dbi