2016-03-28 5 views
0

Ich benutze C# und Oracle Dotnet Provider, und versuchen, mehrere Zeilen gleichzeitig mit executeNonQuery() -Methode einfügen.Oracle Dotnet Provider und INSERT ALL-Anweisung

Aber die Abfrage endet nie, und die App hängt an diesem Punkt.

Ich habe bereits die gleiche Abfrage auf SqlDeveloper Tool getestet.

Kann mir jemand sagen, ob OracleDotnetProvide INSERT ALL-Anweisung unterstützt? Und/oder, wenn es einen Weg gibt zu überprüfen, was mit der Ausführung falsch läuft? Hier

ist die Abfrage:

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 

Unten ist die C# -Code für die Abfrageausführung. Ich habe es mit und ohne die explizite Transaktion versucht:

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; 
        } 
       } 
      } 
     } 
+0

Können Sie bitte Ihren C# -Code zeigen. –

Antwort

0

FOUND IT!

Ich benutzte Sql Developer, verbunden mit den gleichen Anmeldeinformationen, der gleichen Datenbank usw. Sobald ich von SqlDeveloper getrennt, lief meine Abfrage (im Visual Studio Debug) richtig.

Ich weiß nicht die genaue Erklärung, aber es scheint eine Art Sitzungsbeschränkung zu sein, vielleicht relativ zu Transaktionen.

+1

Sie hatten wahrscheinlich nicht festgeschriebene Änderungen in Sql-Entwickler. – gislikonrad

Verwandte Themen