Oracle数据库连接 - 打开连接时出错 [英] Oracle database connection - error while opening connection

查看:121
本文介绍了Oracle数据库连接 - 打开连接时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理批量上传功能,因为我已经使用了Oracle.DataAccess并创建了连接,直到上周它工作正常但现在我突然收到错误System.NullReferenceException:对象引用没有设置为一个实例宾语。当我尝试使用连接对象打开连接时。例如connObject.Open。我在下面复制了代码片段。



我尝试过的事情:



I am working on bulk upload functionality for that I have used Oracle.DataAccess and created connection, till last week it was working fine but now suddenly I am getting error "System.NullReferenceException: Object reference not set to an instance of an object." when i am trying to open connection using connection object. e.g. connObject.Open. I have copied code snippet below.

What I have tried:

public bool WriteToServer(string qualifiedDBName, DataTable dataTable)
    {
        OracleConnection objOracleCon = null;
        try
        {
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["OracleConnection"].ToString();
            objOracleCon = new OracleConnection(connectionString);
            if (objOracleCon != null)
            {
                if (objOracleCon.State == ConnectionState.Closed)
                {
                    objOracleCon.Open();
                }
                using (OracleBulkCopy bulkCopy = new OracleBulkCopy(objOracleCon))
                {
                    bulkCopy.BatchSize = 100000;
                    bulkCopy.BulkCopyTimeout = 20000;
                    bulkCopy.DestinationTableName = qualifiedDBName;
                    bulkCopy.WriteToServer(dataTable);
                    bulkCopy.Close();
                    bulkCopy.Dispose();
                    objOracleCon.Dispose();
                }
            }
        }
        catch (Exception exc)
        {
            return false;
        }
        finally
        {
            if (objOracleCon.State == ConnectionState.Open)
            {
                objOracleCon.Close();
            }
        }
        return true;
    }

推荐答案

您在<$ cc上调用关闭 c $ c> objOracleCon finally 块中的对象,但您已使用中$ c>阻止上面。
You are calling Close on your objOracleCon object in your finally block, but you have disposed this object in your using block above.


这篇关于Oracle数据库连接 - 打开连接时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆