C#使用服务id访问oracle数据库
我正在尝试通过提供用户名、密码、端口号、服务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)
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支持?