Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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# Ora 12454 tns无法解析指定的连接标识符_C#_.net_Oracle_Wcf - Fatal编程技术网

C# Ora 12454 tns无法解析指定的连接标识符

C# Ora 12454 tns无法解析指定的连接标识符,c#,.net,oracle,wcf,C#,.net,Oracle,Wcf,我有一个在windows 2008 R2(oracle Client 32/64)上运行的wcf,当我试图更新表时,我收到了这个错误ora 12454 tns无法解析指定的连接标识符,如果我在本地pc上运行这个,所有工作的精细更新功能都是好的,但当我在服务器上运行这个时,我收到了错误 在寻找答案后,我认为这可能是我的连接字符串中的错误,但所有SEM对我来说都没问题 <connectionStrings> <add name="SnOracle" connection

我有一个在windows 2008 R2(oracle Client 32/64)上运行的wcf,当我试图更新表时,我收到了这个错误
ora 12454 tns无法解析指定的连接标识符
,如果我在本地pc上运行这个,所有工作的精细更新功能都是好的,但当我在服务器上运行这个时,我收到了错误

在寻找答案后,我认为这可能是我的连接字符串中的错误,但所有SEM对我来说都没问题

  <connectionStrings>
    <add name="SnOracle" connectionString="Data Source=ORCL;User Id=Vn;Password=Vn;"/>
  </connectionStrings>

这里是错误的图像

这里是更新代码的一部分

             using (OracleConnection con = new OracleConnection(connStr))
                            {
                                try
                                {
                                    con.Open();
                                    OracleCommand cmd = new OracleCommand();
                                    cmd.Connection = con;
                                for (int i = 0; i < Rows.Count; i++)
                                    {
        cmd.CommandText = "INSERT INTO SNXRATES" +  "(KOD_BANK, 

    TAARICH_ERECH,KODCURRBANK,RATE_TYPE,RATE_VALUE,FACTOR_1,SERIAL_IN,SERIAL_OUT1,
    SERIAL_OUT2,CURRBASE,SERIAL_OUT3 )" +

        "VALUES" +  "('" + Rows[i].KOD_BANK + 
    "','" + Rows[i].TAARICH_ERECH + "','" + 
    Rows[i].KODCURRBANK + "',"  + Rows[i].RATE_TYPE + 
    "," + Rows[i].RATE_VALUE + "," + Rows[i].FACTOR_1 + "," + Rows[i].SERIAL_IN + "," +

 Rows[i].SERIAL_OUT1 + "," + Rows[i].SERIAL_OUT2 + ",'" + Rows[i].CURRBASE + "'," + Rows[i].SERIAL_OUT3 + ")";

                                        cmd.ExecuteNonQuery();
                                    }

                                }
                                catch (Exception ex)
                                {
                                    //here i use  MessageBox to see error
                                    MessageBox.Show(ex.Message+"  || "+ex.Source);
                                    succeeded = false;
                                }

                            }

                        }
                        return succeeded;

                    }
使用(OracleConnection con=neworacleconnection(connStr))
{
尝试
{
con.Open();
OracleCommand cmd=新的OracleCommand();
cmd.Connection=con;
for(int i=0;i
此特定错误背后的主要原因是您的服务器上不存在此特定TNS条目。所以,您可以在服务器上配置您的oracle客户端以使用tnsnames.ora文件

1) 查找tnsnames.ora(Oracle客户端)并添加相应的条目(已配置为在wcf服务的配置文件中使用的连接)。()

2) 重置(或重新启动)IIS(如果使用了任何IIS,或在服务器上重新启动wcf服务)


3) 请重试执行代码。

查找tnsnames.ora文件。它可能在C:或D:驱动器上。可能路径如下:…\app\Administrator\product\11.2.0\client\u 1\network\admin。 在此处为您在应用程序中使用的数据库添加tns设置,然后运行应用程序。这可能有用