sql >> データベース >  >> RDS >> Oracle

System.Data.OracleClient.OracleException:ORA-01036:不正な変数名/番号

    Addメソッドの呼び出しで無効な列挙型を使用すると問題が発生すると思います

    このコードを実行すると、 OracleType Int32は、 SqlDbType

    OracleType e = OracleType.Int32;
    int i = (int)e;
    Console.WriteLine(i.ToString());   // Output = 28
    SqlDbType z = SqlDbType.Int;
    i = (int)z;
    Console.WriteLine(i.ToString());   // Output = 8
    

    したがって、ADO.NETプロバイダーに正しい列挙型を使用することをお勧めします。

    SqlDbTypeを使用してAddを呼び出すことに注意してください。 OracleTypeの代わりに 受け入れられ、コンパイラ時間エラーを発生させません。これは、Addメソッドに、オブジェクトを2番目のパラメーターとして受け入れるオーバーロードがあるために発生します(パラメーターを作成するときに値を直接渡すために使用されます)。

    別の方法は、AddWithValueを使用することです OracleParameterCollection

       command.Parameters.AddWithValue("@course_Id", course_Id);
       command.Parameters.AddWithValue("@question", question);
       command.Parameters.AddWithValue("@posterName", posterName);
       command.Parameters.AddWithValue("@blogdate", blog_date);
    



    1. MySQLはsecure-file-privを複数のディレクトリに設定しました

    2. VB.NET:「MySql.Data.MySqlClient.Replication.ReplicationManager」の型初期化子が例外をスローしました

    3. php mysql_insert_id();動作しない

    4. '<'演算子は予約済みPowerShellエラー