gpt4 book ai didi

c# - 从 C# 访问 Oracle 数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:22:37 25 4
gpt4 key购买 nike

我有一个使用 System.Data.OracleClient 访问 oracle 数据库的 C# 程序。

该代码使用 OracleCommand、OracleDataReader 对象。它使用 TNS 名称来引用特定的 oracle 服务器(如 tnsnames.ora 文件中所定义)。

它在我的电脑上运行良好。然后我将二进制文件复制到另一台计算机,运行时遇到错误:

TNS:无法解析指定的连接标识符。

另一台计算机安装了相同版本的 oracle 客户端,并且在 oracle network/admin 文件夹中放置了相同的 tnsnames.ora 副本。另一台计算机也安装了 SQLDeveloper,我可以使用其 SQLDeveloper 中的那些 TNS 名称连接到 oracle 服务器。

为什么 c# 程序提示无法解析 TNS 标识符?

我使用的连接字符串(硬编码到我的 C# 程序中)是 ;

"数据源=TNS名称;用户ID=user;密码=pass;"

谢谢

最佳答案

打开命令窗口,输入tnsping yourdbname 并回车,你应该会得到一堆信息,但你想要查找的是

Used parameter files:

C:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora

或类似的东西,这是系统上的“默认”Oracle 客户端,确保这与您拥有 tnsnames.ora 的路径相同(在我的例子中我们使用 sqlnet.ora)

有时多个 Oracle 产品安装会产生多个潜在的 ORA_HOME,您至少可以确认“事件”客户端,这样您就可以确定文件位于正确的位置。

此外,您可以使用 SQLPlus 连接到数据库吗?

关于c# - 从 C# 访问 Oracle 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com