首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle Dotnet提供程序并插入所有语句

Oracle Dotnet提供程序并插入所有语句
EN

Stack Overflow用户
提问于 2016-03-28 15:11:27
回答 1查看 323关注 0票数 0

我正在使用c#和Oracle提供程序,并试图使用executeNonQuery()方法一次插入几行。

但是查询永远不会结束,应用程序就在此时挂起。

我已经在SqlDeveloper工具上测试了相同的查询。

有人能告诉我OracleDotnetProvide是否支持插入所有语句吗?或者,如果有什么方法来检查执行过程中出了什么问题?

以下是查询:

代码语言:javascript
运行
复制
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#代码。我尝试过使用或不使用显式事务:

代码语言:javascript
运行
复制
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;
                    }
                }
            }
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-28 15:41:29

找到了!

我使用的是SqlDeveloper,连接到相同的凭据、相同的数据库等。一旦我断开了与SqlDeveloper的连接,我的查询(在visual中)就会正常运行。

我不知道确切的解释,但这似乎是某种会话限制,可能与事务有关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36265145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档