何らかの形で、Oracleストアドプロシージャにパラメータを渡すだけで、パラメータを適切な型に変換できることがわかりました。さて、私はそれに対処する問題に取り組んでいます。私は "ORA-00900:無効なSQL文"を返してきました...私は文字列を渡そうとしているので、推測しています...それはとにかくどこかで読んだものです... "http: /www.dba-oracle.com/sf_ora_00900_invalid_sql_statement.htm "ODP.netを使用して無名パラメータをOracleに渡す
ストアドプロシージャにOracleパラメータを入力し、.net変数を使用してそのストアドプロシージャを実行する方法は何ですか? .net文字列をODPデータ型に変換する必要がありますか?私はないと思い...ここ
は、私のコードのgenerallはありません...
XmlAttribute xAttribute;
using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ACODBConnectionString"].ConnectionString))
{
using (OracleCommand cmd = new OracleCommand(sProc, conn))
{
int i = 0;
foreach (string path in paths)
{
string OracleParam;
xAttribute = AcoXMLDoc.SelectSingleNode(string.Format("//dataTemplateSpecification/templates/template/elements/element[@name='{0}']", path)).Attributes["value"];
if ((xAttribute.Value == null))
{
OracleParam = "";
cmd.Parameters.Add(colName[i], OracleParam);
}
else
{
OracleParam = xAttribute.Value;
cmd.Parameters.Add(colName[i], OracleParam);
}
i++;
}
conn.Open();
outcome = cmd.ExecuteNonQuery();
}
}
は、あなたが見ることができるように、私は、XML文書から値を引っ張っていますので、自然に値があることを行っているものです文字列...適切なデータ型に文字列を変更する方法を理解しなければならない場合、$$をあまりにも吸うつもりです...
うわーで渡すことができます '匿名/ジェネリックデータ型' のわからないと同じです。今それは質問に対するマスターの完全な答えです...助けをありがとう。私が欠けていたのは、とりわけ、nameパラメータでバインドをfalseに設定していることです...私はそれをテストします。おそらく、今日の午後(今日は何トンものものを手に入れた)でしょう。 – SoftwareSavant
@DmainEvent素晴らしいですが、何か問題が発生した場合は教えてください – Harrison
ちょっと、私は苦労して正しいフォーマットに日付時刻を取得しています。あなたはそのことをどうお勧めしますか...私は文字列とDateTime.Parse(文字列 "DD-MM-YYYY")として日付を取得し、そのDateTimeを文字列に変換します。 – SoftwareSavant