2016-03-28 7 views
0

INSERT.Oracle Dotnet Sağlayıcısı ve ben C# ve Oracle Dotnet sağlayıcı kullanarak ve ExecuteNonQuery() metodu ile aynı anda birkaç satırı eklemek çalışıyorum TÜM açıklama

Ama sorgu asla sona erer ve uygulama bu noktada kapatır.

Zaten SqlDeveloper aracında aynı sorguyu test ettik.

OracleDotnetProvide insert TÜM ifadeyi destekliyorsa

kimse söyleyebilir misiniz? Ve/Veya, eğer yürütme ile neyin yanlış gittiğini kontrol etmenin bir yolu var mı?

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 

Aşağıda sorgu yürütülmesi için C# kodu: Burada

sorgusu olur. Açık işlem olmadan ve hariç işlem yapmadan önce denedim:

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

Lütfen C# kodunuzu gösterebilir misiniz? –

cevap

0

BULUNDU!

Aynı kimlik bilgileri, aynı veritabanı vb. Ile bağlanmış Sql Developer kullanıyordum. SqlDeveloper bağlantısı kesildikten sonra, (görsel stüdyo hata ayıklama) sorgum düzgün çalıştı.

Ben tam bir açıklama bilmiyorum ama işlemlere belki göreceli seans kısıtlama çeşit, gibi görünüyor.

+1

Büyük olasılıkla sql geliştiricisinde değiştirilmemiş değişiklikler yaptınız. – gislikonrad