【问题标题】:C# accessing to oracle database using service idC#使用服务ID访问oracle数据库
【发布时间】:2017-09-08 08:51:52
【问题描述】:

我正在尝试通过提供用户名、密码、端口号、服务 ID 和主机名来登录我的远程 oracle 数据库!

 private void button1_Click(object sender, EventArgs e)

        {
            connectionString = "Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.72.90)(PORT = 1521))) " +
            " (CONNECT_DATA = (SERVER = SHARED) (SID = XE) )" +
        " ); User Id =" + uname.Text + "; password=" + pword.Text;


            OracleConnection con = new OracleConnection();
            con.ConnectionString = connectionString;
            con.Open();
            OracleCommand cmd = new OracleCommand();
            cmd.CommandText = "Select DEFINITION_ID from ATS_AME_DEFS";
            cmd.Connection = con;
            OracleDataReader dr = cmd.ExecuteReader();
            dr.Read();
            label1.Text = dr.GetString(0);
        } 

当我运行程序时,我在“con.Open();”处收到错误“Oracle.DataAccess.dll 中发生类型为 'Oracle.DataAccess.Client.OracleException' 的未处理异常”

但是当我将服务名称指定为 (SERVICE_NAME = ora12c) 替换服务 ID (SID = XE) 时,我可以访问数据库!我该如何纠正这个问题?

【问题讨论】:

    标签: c# database oracle service numbers


    【解决方案1】:

    Oracle 连接管理器不支持SID,它只支持ServiceName

    【讨论】:

    • 谢谢!我可以使用什么来获得服务 ID 的支持?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多