私はc#とOracle Dotnet Providerを使用していて、executeNonQuery()メソッドを使用して複数の行を同時に挿入しようとしています。Oracle Dotnet ProviderとINSERT ALLステートメント
しかし、クエリは終了せず、この時点でアプリケーションがハングします。
私は既にSqlDeveloperツールで同じクエリをテストしました。
OracleDotnetProvideがINSERT ALL文をサポートしているかどうかは誰にでも分かりますか? そして/または、何が実行に間違っているかを確認する方法があれば?
INSERT ALL
INTO ESRI_STG.STD_GIS_CUSTOMER (GIS_ID, GEOM) VALUES (53791115,NULL)
INTO ESRI_STG.STD_GIS_CUSTOMER (GIS_ID, GEOM) VALUES (53791123,NULL)
INTO ESRI_STG.STD_GIS_CUSTOMER (GIS_ID, GEOM) VALUES (53791131,NULL)
SELECT * FROM dual
以下はクエリ実行のためのC#コードである:ここで
はクエリです。私は明示的な取引の有無にかかわらず試しました:using System;
using Oracle.ManagedDataAccess.Client;
public static int executeQuery(string sql_query)
{
using (OracleConnection oracleLink = new OracleConnection(oracleConnectionString))
{
using (OracleCommand comm = new OracleCommand(sql_query, oracleLink))
{
try
{
oracleLink.Open();
//OracleTransaction txn = oracleLink.BeginTransaction();
int linhasAfetadas = comm.ExecuteNonQuery();
//comm.Transaction.Commit();
return linhasAfetadas;
}
catch (Exception e1)
{
Console.WriteLine(e1.Message);
return -1;
}
}
}
}
C#コードを表示してください。 –