配列バインディングを使用して、一連の Python スクリプトを Oracle データベースにインポートしています。
using (OracleCommand cmd = conn.CreateCommand())
{
cmd.CommandText = @"insert into scripts (nscript, scriptname, scriptdescr, scripttext, created, modified, createdby)
values (nscript.nextval, :1, :2, :3, sysdate, sysdate, 'XXX')";
OracleParameter paramScriptName = new OracleParameter("ScriptName", OracleDbType.Varchar2, 64);
paramScriptName.Value = scriptNames.ToArray();
OracleParameter paramScriptDescription = new OracleParameter("ScriptDescripption", OracleDbType.Varchar2, 128);
paramScriptDescription.Value = scriptDescriptions.ToArray();
OracleParameter paramScriptText = new OracleParameter("ScriptText", OracleDbType.Long, 0);
paramScriptText.Value = scriptTexts.ToArray();
cmd.Parameters.Add(paramScriptName);
cmd.Parameters.Add(paramScriptDescription);
cmd.Parameters.Add(paramScriptText);
cmd.ArrayBindCount = scriptNames.Count;
cmd.ExecuteNonQuery();
paramScriptName.Dispose();
paramScriptDescription.Dispose();
paramScriptText.Dispose();
}
このガイドに従ってください: http://www.oracle.com/technetwork/issue-archive/2009/09-sep/o59odpnet-085168.html
ただし、インポート時に一部の長いスクリプトが切り捨てられることに気付きました。
私が間違っていることについて何か提案はありますか?
どうもありがとう。
スティーブ