ORA-12154: TNS: 无法处理服务名
static  string connectionString = "SERVER=109.104.7.50;Data Source=MESORA8;User ID=PDP_SSKMT;Password=pdpsskmt5";
OracleConnection conn = new OracleConnection(connectionString);
public  OracleCommand cmd;
public  OracleDataAdapter ada;
public  DataSet MyDataSet;
public  DataRow MyDataRow;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Current_Xml();
} public void Current_Xml()
{
            MyDataSet=new DataSet();
ada=new OracleDataAdapter();

        string queryString = "select * from input,matching,packing,line from corp_pdp_loss_current";

OracleCommand cmd = new OracleCommand(queryString,conn);
cmd.CommandType =CommandType.Text;

ada.SelectCommand=cmd;
// try
//
// { conn.Open();
ada.Fill(MyDataSet);
MyDataSet.WriteXml("Currnet_Xml.xml");
Response.Redirect("asdfaf.aspx");
conn.Close();// }错误ORA-12154: TNS: 无法处理服务名 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-12154: TNS: 无法处理服务名 源错误: 
行 55: // {
行 56: 
行 57:  conn.Open();
行 58:  ada.Fill(MyDataSet);
行 59:  MyDataSet.WriteXml("Currnet_Xml.xml");
 源文件: d:\job\sskmt_pdp\flash.aspx.cs    行: 57 堆栈跟踪: 
[OracleException: ORA-12154: TNS: 无法处理服务名 

解决方案 »

  1.   

    Oracle连接字符串里从来都不需要Server
    "Data Source=MESORA8;User ID=PDP_SSKMT;Password=pdpsskmt5";
    就够了,注意装上Oracle客户端。
      

  2.   

    IP一般在TNSNAME.ORA文件里指定。或者是什么admin.ora文件里。
      

  3.   

    ORA-12154: TNS: 无法处理服务名 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-12154: TNS: 无法处理服务名 源错误: 
    行 55: // {
    行 56: 
    行 57:  conn.Open();
    行 58:  ada.Fill(MyDataSet);
    行 59:  MyDataSet.WriteXml("Currnet_Xml.xml");
     源文件: d:\job\sskmt_pdp\flash.aspx.cs    行: 57 堆栈跟踪: 
    [OracleException: ORA-12154: TNS: 无法处理服务名
    ]
       System.Data.OracleClient.DBObjectPool.GetObject(Object owningObject, Boolean& isInTransaction)
       System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, OracleConnection owningObject, Boolean& isInTransaction)
       System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact)
       System.Data.OracleClient.OracleConnection.Open()
       PDP.flash.Current_Xml() in d:\job\sskmt_pdp\flash.aspx.cs:57
       PDP.flash.Page_Load(Object sender, EventArgs e) in d:\job\sskmt_pdp\flash.aspx.cs:37
       System.Web.UI.Control.OnLoad(EventArgs e)
       System.Web.UI.Control.LoadRecursive()
       System.Web.UI.Page.ProcessRequestMain() 
    我去了SERVER还是出了这样的问题
      

  4.   

    找到系统里装的tnsnames.ora文件,或者扩展名为.ora的类似文件,用记事本打开。看看里面指定的IP地址对不对。对了,OracleClient要工作,必须要装Oracle客户端的。
      

  5.   

    我装客户端了
    客户端也连接上了
    可是NET里
      

  6.   

    文件如下
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora90\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.YANGJIANDONG =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 109.104.7.50)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = MESORA8)
        )
      )
      

  7.   

    Data Source=YANGJIANDONG;User ID=PDP_SSKMT;Password=pdpsskmt5
    Data Source改一下试试?
      

  8.   

    static  string connectionString = "Data Source=MESORA8;User ID=PDP_T;Password=pdpst5";
    OracleConnection conn = new OracleConnection(connectionString);
    public  OracleCommand cmd;
    public  OracleDataAdapter ada;
    public  DataSet MyDataSet;
    public  DataRow MyDataRow;
      

  9.   

    Data Source改成YANGJIANDONG也不行?帐号\密码肯定对?
      

  10.   

    新的错误
    ORA-00933: SQL command not properly ended 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-00933: SQL command not properly ended 源错误: 
    行 56: 
    行 57:  conn.Open();
    行 58:  ada.Fill(MyDataSet);
    行 59:  MyDataSet.WriteXml("Currnet_Xml.xml");
    行 60:  Response.Redirect("asdfaf.aspx");
     
      

  11.   

    OracleCommand cmd = new OracleCommand(queryString,conn);
    cmd.CommandType =CommandType.Text;必须加上
    cmd.CommandText = "select * from input,matching,packing,line from corp_pdp_loss_current";
      

  12.   

    对了,你是改了Data Source为YANGJIANDONG连上的吗?
      

  13.   

    OracleCommand cmd = new OracleCommand();
    cmd.Connection=conn; cmd.CommandText = "select * from input,matching,packing,line from corp_pdp_loss_current";
    cmd.CommandType =CommandType.Text; ada.SelectCommand=cmd;这样还是有问题啊
      

  14.   

    什么问题啊?
    你肯定sql语句没有拼写错误?
      

  15.   

    异常详细信息: System.Data.OracleClient.OracleException: ORA-00933: SQL command not properly ended 源错误: 
    行 56:  ada.SelectCommand=cmd;
    行 57: 
    行 58:  ada.Fill(MyDataSet);
    行 59:  MyDataSet.WriteXml("Currnet_Xml.xml");
    行 60:  Response.Redirect("asdfaf.aspx");
     源文件: d:\job\sskmt_pdp\flash.aspx.cs    行: 58 
      

  16.   

    不好意思刚才是我SQL语句写错了可是现在新的问题又出来了
    异常详细信息: System.Data.OracleClient.OracleException: ORA-00942: table or view does not exist 源错误: 
    行 56:  ada.SelectCommand=cmd;
    行 57: 
    行 58:  ada.Fill(MyDataSet);
    行 59:  MyDataSet.WriteXml("Currnet_Xml.xml");
    行 60: 
     
    是不是没有表或是视图啊
      

  17.   

    表或视图不存在,好好看下你的sql查询语句里面涉及到的表在数据库里存在否
      

  18.   

    很简单嘛,corp_pdp_loss_current到底存不存在啊?
      

  19.   

    求助,我是用 VS2005+ORACLE9.2的我在VS2005里调试都完全正常,我生成网站之后,放到IIS下配置起来,会提示错误“System.Data.OracleClient.OracleException: ORA-12154: TNS: 无法处理服务名”
    大家帮帮忙,有遇到这种情况吗
      

  20.   

    我现在还是用.NET 2003的-.-