甲骨文公司推出Oracle Data Provider for .NET之后,微软公司随后就宣布停止对.NET Managed Provider for Oracle的支持。技术总监说要Oracle,于是开始使用ODP.NET的日子。安装ODP.NET后,多次出现无法连接到Oracle数据库的尴尬局面,所以就有了这篇文章。
首先下载,ODP.NET可以在Oracle官网找到,上Google一搜“ODP.NET”第一条结果就是了,这里还是附上最近的下载页面:http://www.oracle.com/technetwork/topics/dotnet/index-085163.html。
然后开始安装之路:
1,解压缩、双击之后,出现了一个黑框(DOS命令框)。不慌,稍等后就会出现欢迎使用的界面:
2,下一步,进入选择安装Oracle客户端,还是服务端的界面。
3,选择客户端,下一步,进入选择安装路径的界面。选择的路径不能包含空格,不然无法通过下一步。
4,选好路径后,就是验证界面了。如果有错误或者警告,会告诉你。上一步的路径有空格的话,这里就会有个错误,导致无法下一步。
5,通过所有验证后,就是选择安装哪些组件的界面了。不管那么多,下一步直到安装完成。打卡PL/SQL,输入用户名那些,点击Ok,出现了下面的界面:
下面开始配置之路:
1,新建系统环境变量。变量名:ORACLE_HOME,值:安装路径\Administrator\product\11.1.0\client_1,这个client_1不是固定的,不管叫什么,反正11.1.0下面就一个文件夹。
2,修改系统环境变量path。在path值的最前面加上ORACLE_HOME的值,就是上面的那个路径,用“;”隔开。
3,添加tnsnames.ora文件。在安装路径\Administrator\product\11.1.0\client_1路径下找到Network文件夹进入,再进入,完整路径为:安装路径\Administrator\product\11.1.0\client_1\Network\Admin。在这个路径下有个Sample文件夹,把里面的tnsnames.ora文件拷贝到Admin文件下。
4,修改tnsnames.ora文件。打开,就是下面的样子:
# Every line that begins with # is a comment line
#
# Create Oracle net service names, or aliases, for each database server
# you need to connect to .
#
# TNSNames.ora sample entry
#
# alias =
# (DESCRIPTION =
# (ADDRESS = (PROTOCOL = TCP)(HOST = myserver.mycompany.com)(PORT = 1521 ))
# (CONNECT_DATA =
# (SERVER = DEDICATED)
# (SERVICE_NAME = orcl)
# )
# )
#
# You can modify the entry below for your own database .
# < data source alias > = Name to use in the connection string Data Source
# < hostname or IP > = name or IP of the database server machine
# < port > = database server machine port to use
# < database service name > = name of the database service on the server
< data source alias > =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = < hostname or IP > )(PORT = < port > ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = < database service name > )
)
)
其实上面的英文注释说的很清楚了:data source alias -数据库名,"HOST = "右边是域名或者IP,"POST = "右边是端口,"SERVICE_NAME ="右边是数据库服务的名称。例,连接字符串“Data Source=test;User ID=admin;Password=123;”(用户名和密码是DBA给的,不会在配置里):
test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168 . 1.3 )(PORT = 1500 ))
)
(CONNECT_DATA =
(SERVICE_NAME = example)
)
)
至此,还差一步,重启机器。
如何在项目里使用呢?添加引用,选择Oracle.DataAccess。