我记得数据库别名的前后需要加双引号,试试
str="Data Source=""ptest"";Persist Security Info=True;User ID=ld123;Password=ld123;Unicode=True;Min Pool Size=10;Connection Lifetime=120;Max Pool Size=50;";

解决方案 »

  1.   

    Server=127.0.0.1;Data Source="ptest";Persist Security Info=True;User ID=liubiao;Password=liubiao;Unicode=True;Min Pool Size=10;Connection Lifetime=120;Max Pool Size=50; 这样不行啊
      

  2.   

    你用的什么类连接的?oledb还是oracle专用的连接?如果是oledb还要设置Provider
      

  3.   

    using System.Data.OracleClient;
      

  4.   

    我目前使用的函数 oledb连接
    public String GetOracleConnection(string ID, string Password, string SeverAddress)
    {
    return "Provider=MSDAORA.1;password=" + Password + ";user id=" + ID + ";data source= " + Strings.Chr(34) + SeverAddress + Strings.Chr(34) + ";persist security info=True ";
    }
    //调用方式
    str=GetOracleConnection("ld123","ld123","ptest");
      

  5.   

    你用的oracle专用的连接,把函数中的Provider=MSDAORA.1;去掉就可以了
      

  6.   

    把ptest替换成下面的字符串
    (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.187)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=test)))
      

  7.   

    password=ld123;user id=ld123;data source= "ptest";persist security info=True 
    还是不行,会不会是权限问题额
      

  8.   

    ORA-12154: TNS: 无法解析指定的连接标识符
      

  9.   

     public OracleConnection CreateConnection()
            {            string connectstring = XMLHelp.Instance.GetConnectString();
                currenConn = new OracleConnection(connectstring);
                if (currenConn.State == ConnectionState.Closed) { currenConn.Open(); }
                return currenConn;        }
       public  string GetConnectString()
            {
                string oraServer = GetValueByNodeName("DataServer");
                string oraBase =GetValueByNodeName("DataBase");
                string oraName = GetValueByNodeName("UserName");
                string oraPwd = GetValueByNodeName("Pwd");
                //string connecString = string.Format(@"Data Source={0};Persist Security Info=True;User ID={1};Password={2};Unicode=True;Min Pool Size=10;Connection Lifetime=120;Max Pool Size=50; ", "\""+oraBase+"\"", oraName, oraPwd);
                string connecString = GetOracleConnection(oraName, oraPwd, oraBase);
                return connecString;
            } 
       public string GetOracleConnection(string ID, string Password, string SeverAddress) 
    {
        return "password=" + Password + ";user id=" + ID + ";data source= " + Convert.ToChar(34) + SeverAddress + Convert.ToChar(34) + ";persist security info=True ";
    }
      

  10.   

    1、用其他工具能连接数据库吗,先确定服务器是不是通的
    2、换成(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.187)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=test)))试试
    感觉有可能是没走你的tns配置文件
      

  11.   

    这是我本机服务器配置,测试能通过。TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = test)
        )
      )
      

  12.   

    sqlplus能连上那台机器的服务器,VS2010调试能连上,IIS部署以后连不上,IIS部署后也能连上我本机的服务器,
    本机服务器配置如下:
    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = test)
        )
      )