ASP.NET/Oracle问题:TNS无法解析指定的连接标识符

Tim*_*Tim 9 asp.net oracle visual-studio-2010

我有一个在Visual Studio 2010中运行的ASP.NET Web应用程序的本地副本.该代码与我的开发环境中运行的代码完全相同.

当我尝试通过ASP.NET连接到我的Oracle数据库时,它会抛出"TNS无法解析指定的连接标识符".奇怪的是这个数据库在我的TNSNAMES.ORA文件中,当我使用TNSPING或Microsoft Data Link连接时,它工作正常.

我尝试修改我的Oracle目录上的权限,但这似乎没有帮助.

Lef*_*tyX 20

确保已安装Oracle数据库客户端(x86或x64).

确保已将PATH配置为使用Oracle bin文件夹:

PATH = C:\甲骨文\产品\ 11.2.0 \的Client_1\BIN

确保您的tnsnames.ora文件位于以下目录中:

C:\ ORACLE \产品\ 11.2.0\Client_1与\网络\ ADMIN

您可以尝试使用以下连接字符串:

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=MYDATABASE)));User ID=myusername;Password=mypassword;
Run Code Online (Sandbox Code Playgroud)

更新:

我没有这个环境变量(因为我使用扩展连接字符串)但是这里此处有人建议添加TNS_ADMIN.


Wil*_*gno 5

使用TNS:

(对于 ASP.NET Core,您需要 TNS_ADMIN 环境变量指向 tnsnames.ora 所在的目录)

Data Source = TORCL; User Id = myUsername; Password = myPassword;
Run Code Online (Sandbox Code Playgroud)

不使用 TNS:

Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = MyHost) (PORT = MyPort))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = MyOracleSID));
User Id = myUsername; Password = myPassword;
Run Code Online (Sandbox Code Playgroud)