C# Ora 12454 tns无法解析指定的连接标识符
我有一个在windows 2008 R2(oracle Client 32/64)上运行的wcf,当我试图更新表时,我收到了这个错误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
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设置,然后运行应用程序。这可能有用