Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#使用服务id访问oracle数据库_C#_Database_Oracle_Service_Numbers - Fatal编程技术网

C#使用服务id访问oracle数据库

C#使用服务id访问oracle数据库,c#,database,oracle,service,numbers,C#,Database,Oracle,Service,Numbers,我正在尝试通过提供用户名、密码、端口号、服务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)

我正在尝试通过提供用户名、密码、端口号、服务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.Client.OracleException”类型的未处理异常发生在Oracle.DataAccess.dll中”


但是,当我将服务名称指定为(service_name=ora12c)替换服务id(SID=XE)时,我就可以访问数据库了!如何更正此问题?

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

塔克斯!我可以使用什么来获得服务ID支持?