asp.net连接oracle数据库 失败……
ORA-12154: TNS:could not resolve the connect identifier specified最先是SQL PLUS成功,但是VS调试失败;
之后网上查找方案,修改了环境变量,卸载了ODP,删除了相关文件夹,注册表也修改过,最后调试通过了;
现在发现,部署到IIS上之后,还是报这个错,求大侠教我 --------------------编程问答-------------------- 自己顶一下先 --------------------编程问答-------------------- 1。验证tnsnames.ora文件中的别名和客户使用的服务名称。
Oracle数据库TNS条目
===========================
OracleDB_Dev =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server01.mydomain.com)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = OracleDB)
(SERVER = DEDICATED)
)
)
在上面的tnsnames.ora文件别名= OracleDB_Dev
服务名称:OracleDB(实际的Oracle服务名[在SQL实例名称])
2。检查“管理员”在Oracle主文件夹下的sqlnet.ora文件[DIR:\ APP \产品\ 11.1.0 \ \ NETWORK \ ADMIN],并确保我们的样子NAMES.DIRECTORY_PATH TNSNAMES client_1
NAMES.DIRECTORY_PATH =(TNSNAMES,ONAMES,主机名)
3。验证您是否可以连接到Oracle SQL服务器使用机器安装Oracle客户端工具,例如“SQL开发”或“SQL Plus的”相同的用户ID /密码或TNS别名。
5。检查环境变量PATH“如果有tnsnames.ora中指定的文件的路径。
环境变量PATH的样本价值:
E:\app\product\11.1.0\client_1\bin;C:\Program Files\Business Objects\Common\3.5\bin\NOTES\;C:\Program Files\Business Objects\Common\3.5\bin\NOTES\DATA\;%Systemroot%\Microsoft.NET\Framework\v1.1.4322;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Dell\SysMgt\oma\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\ADMIN\1033\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\;C:\Program Files\Microsoft Network Monitor 3\
注意:请确保该路径是一个有效的路径,并没有空间。
6。检查的关键“ORACLE_HOME”在注册表下HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_OraClient11g_home1的价值,并确认它具有Oracle主的正道。
7。检查注册表项HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE实现“TNS_ADMIN的”。如果它存在,然后确保它作为权值“DIR:\ APP \产品\ 11.1.0 \ client_1 \ NETWORK \ ADMIN”。如果你看不到的关键,然后创建密钥,并设置适当的值如下。
输入regedit - > HKEY_LOCAL_MACHINE->软件>甲骨文 - >右击新StringValue的和名称
TNS_ADMIN的和给价值的“X:\ APP \产品\ 11.1.0 \ client_1 \ NETWORK \ ADMIN”
注:这是不是必须的,但在某些情况下,这是固定的问题。
8。检查如果SQL Server启动帐户具有权限的Oracle Home。还收集过程监控日志和检查“拒绝访问”。如果我们能够找到tnsnames.ora文件,进程监视器日志应显示。
9。确保你没有安装多个Oracle家园或多个Oracle客户端。检查“HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE实现\ ALL_HOMES \ HOME_COUNTER”键值。
10。检查如果Oracle OLE DB提供程序运行处理序。如果'是',然后再尝试运行的进程,看看是否能解决问题。
注意:您可以检查和验证如果MS OLE DB提供程序运行的注册表项HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ MSSQLSERVER \供应商\接口MSDAORA处理序
11。你可以尝试收集SQL和Oracle服务器同时网络跟踪和检查,如果有两个服务器之间的任何通信。
12。尝试从SQL服务器使用的UDL连接到Oracle。使用相同的TNS名称。如果你得到了同样的错误,这意味着问题不在于具体SSMS或链接服务器。
创建和配置通用数据链接(UDL)文件
http://msdn.microsoft.com/en-us/library/e38h511e(VS.80)。ASPX
13。尝试指定所有数据源的信息,而不是使用TNS别名连接到Oracle数据库(这是一种方法来绕过tnsnames.ora文件,连接到Oracle时)。
--------------------编程问答-------------------- http://www.cnblogs.com/xiachufeng/archive/2010/08/02/1790409.html --------------------编程问答-------------------- http://social.msdn.microsoft.com/Forums/zh-CN/biztalkgeneral/thread/63e041cc-8da8-4a69-82fd-e5fca0047c3f
补充:.NET技术 , ASP.NET