Win10安装VS2015连接Oracle调试WCF的问题实践
1、安装VS2015的过程中出现找不到JavaScript_ProjecSystem.msi和JavaScript_LanguageService.msi的情况,要先在安装包中找到这两个文件,分别双击单独安装。然后再安装VS2015,在再遇到上述问题时,选择略过即可。
2、在控制面板中开启Windows功能中安装.Net 3.5,始终无法成功下载.Net3.5,原因是设备管理中的PCI驱动没安装成功导致,使用驱动精灵安装好驱动后就OK了。
3、项目中使用DataAccess访问Oracle始终提示The provider is not compatible with the version of Oracle client (提供程序与Oracle客户端的版本不兼容)
服务器端使用的是Oracel 12.2.0.1,所以要在开发者的电脑上安装ODTwithODAC122011,即:ODAC 12.2.0.1.1,下载网址:https://www.oracle.com/database/technologies/dotnet-odacdev-downloads.html,安装后问题解决。
4、提示 ORA-12154: TNS:could not resolve the connect identifier specified。
因为是使用TNS连接数据库,所以要在开发者的电脑上丁配置TNS
进入Oracle client的安装目录下的Network\Admin目录,本案例的目录是:
C:\app\client\XXXXX\product\12.2.0\client_1\Network\Admin
添加tnsnames.ora文件,配置如下:
XXXTEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =xxxxx)
)
)
在电脑系统变量中添加“ORACLE_HOME”变量,本案例的值是:“C:\app\client\xxxx\product\12.2.0\client_1”
在电脑系统变量中添加“TNS_ADMIN”变量,本案例的值是:“%ORACLE_HOME%/NETWORK/ADMIN/”
5、Oracle Sql Developer下载地址
https://www.oracle.com/tools/downloads/sqldev-downloads.html
6、在本地IIS配置服务,以管理员身份运行VS,在“调试=》选项=》调试=》常规=》仅我的代码”的勾去掉,在VS弹出是否附加到调试时,选择“是”,在Debug模式下重新生成Dll,把重生成的Dll和*.pdb文件一起复制到IIS指向的目录下,即可调试WCF服务。
7、使用本地调试时出现Oracle.DataAccess.Client.OracleConnection.Open()报错System. NullReferenceException:
使用ODAC链接Oracle数据库时,conn.Open()报错:未将对象的实例设置到对象引用。
Oracle.DataAccess.dll版本:4.121.2.0 ODAC RELEASE 4
OracleClient版本:Oracle 12c Release 4
方案一(验证可行):
(1)服务器安装32-bit ODAC with Oracle Developer Tools for Visual Studio Downloads,下载地址:http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html。
(2)下载 the ODAC XCopy version,下载地址:http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html
(3)解压ODAC XCopy version,找到instantclient_12_1文件夹。
(4)把instantclient_12_1文件夹中的文件复制到Oracle 12c Release4安装目录的bin文件夹中,如果有重复的文件跳过。
参考文献:https://www.cnblogs.com/sessionliang/p/6520437.html
本案例的目录是:C:\app\client\xxxx\product\12.2.0\client_1\bin
浙公网安备 33010602011771号