使用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