甲骨文公司推出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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?