【问题标题】:.net application's oracle connection timing out.net 应用程序的 oracle 连接超时
【发布时间】:2011-05-26 02:47:49
【问题描述】:

我有下面的代码尝试从 oracle 批量复制到 SQL Server 2005,但它一直超时。如何延长 oracle 连接超时?看来我不能从我在网上阅读的内容。

OracleConnection source = new OracleConnection(GetOracleConnectionString());
source.Open();

SqlConnection dest = new SqlConnection(GetSQLConnectionString() );
dest.Open();


OracleCommand sourceCommand = new OracleCommand(@"select * from table");


using (OracleDataReader dr = sourceCommand.ExecuteReader())
            {
                using (SqlBulkCopy s = new SqlBulkCopy(dest))
                {
                    s.DestinationTableName = "Defects";
                    s.NotifyAfter = 100;
                    s.SqlRowsCopied += new SqlRowsCopiedEventHandler(s_SqlRowsCopied);
                    s.WriteToServer(dr);
                    s.Close();
                }
            }

source.Close();
dest.Close();  

这是我的 oracle 连接字符串:

return "User Id=USER;Password=pass;Data Source=(DESCRIPTION=" +
                    "(ADDRESS=(PROTOCOL=TCP)(HOST=14.12.7.2)(PORT=1139))" +
                    "(CONNECT_DATA=(SID=QCTRP1)));";

【问题讨论】:

    标签: c# asp.net sql-server-2005 oracle database-connection


    【解决方案1】:

    在您的连接字符串中,有一个“连接生命周期”和“连接超时”参数。您可以相应地设置它。有关完整参考,请参阅 here

    顺便说一句,我知道您没有问这个问题,但是您是否考虑过使用 ETL 工具来迁移您的数据库记录(例如 Informatica、FM​​E 等)?虽然您的方法是有效的,但它不会非常高效,因为您正在将所有记录从一个 DB 水化到客户端,然后将它们序列化到另一个 DB。对于小批量集,这不是一个大问题,但如果您要处理数十万行,您可能需要考虑使用官方 ETL 工具。

    【讨论】:

    • 它不在预算之内,而且只有 20,000 条记录。我想成为一个好公民,而不是超过要求地锁定资​​源
    • 是否有免费的 ETL 工具可用于将 ORACLE 数据导入 SQL,并安排每天定期运行?
    • 我没有想到任何建议,但谷歌搜索“free etl”返回了一些有希望的结果。大多数 ETL 工具与数据库无关(或至少支持 Oracle 和 SQL Server)。
    • 链接似乎没有帮助:我正在使用“没有 TSN.ora 替代方案”,正如您从连接字符串中看到的那样,我没有看到超时或寿命的参数
    • 没关系。您使用直接连接的事实并不意味着您不能添加参数。只需在连接字符串的最后一个分号后添加参数即可。例如。 "...(SID=QCTRP1)));连接超时=300;"
    【解决方案2】:

    您可以设置 s.BulkCopyTimeout 选项

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-24
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-23
      • 2012-03-29
      相关资源
      最近更新 更多