日期:2014-05-17  浏览次数:20705 次

.net+oracle问题
System.Data.OracleClient.OracleException: ORA-12154: TNS: 无法解析指定的连接标识符

Connection = new OracleConnection("Data Source=OnlineExam;User ID=system;Password=zero;");
行 39: Connection.Open();//这一行显示出错
行 40: }
行 41: else
 
 public class DataBase
  {
  //私有变量,数据库连接
  protected OracleConnection Connection;
  protected string ConnectionString;

  //构造函数
  public DataBase()
  {
  string mysqlstr = "Data Source=OnlineExam;Persist Security Info=True;User ID=system;Password=zero;Unicode=True";
  OracleConnection mycnn = new OracleConnection(mysqlstr);
  ConnectionString = mysqlstr;

  //ConnectionString = "Data Source=PC-201109021256;DataBase=test;User ID=sa;Password=123456;";
  }
  //保护方法,打开数据库连接
  private void Open()
  {
  //判断数据库连接是否存在
  if (Connection == null)
  {
  //不存在,新建并打开

  Connection = new OracleConnection("Data Source=OnlineExam;User ID=system;Password=zero;");
  Connection.Open();
  }
  else
  {
  //存在,判断是否处于关闭状态
  if (Connection.State.Equals(ConnectionState.Closed))
  Connection.Open(); //连接处于关闭状态,重新打开
  }
  }

------解决方案--------------------
"Data Source=dtscsmis;User ID=dtscsmis; Password=dtscsmis";
试试这么写

然后你在试试你能在pl/sql用你的帐号密码能否登录
------解决方案--------------------
你下面这个文件里配置的OnlineExam可能不对。
也就是说和你用pl/sql连接的不是一个数据库。
C:\oracle\product\10.2.0\client_1\network\ADMIN\tnsnames.ora