2021年2月1日星期一

C# 使用 sid 连接 Oracle(无需安装 Oracle 客户端)

最接我们公司的软件产品,决定增加支持新的数据库:Oracle 数据库。偶尔发现,有个方法,C# 使用 sid 连接 Oracle(无需安装 Oracle 客户端),可以成功。特记录,以防遗忘。兼供各位参考。

最接我们公司的折桂打印平台系统,决定增加支持新的数据库:Oracle 数据库。其中主要代码是 C#, 其次是 Java。 Java 连各种数据库,很容易,下载 JDBC 驱动程序就可以了。C# 相对麻烦一点,我决定花点时间,进行调研/学习,调通 C# 连接 Oracle(无需安装 Oracle 客户端)。

经过几天的网上搜索,中文、英文的资料,都看了不少。绝大多数,不靠谱,根本行不通,说是可以不需要安装 Oracle 客户端,文章下方有人反馈,不安装Oracle 客户端运行时会报错,博主都不回应。

偶尔发现,有个方法,C# 使用 sid 连接 Oracle(无需安装 Oracle 客户端),可以成功。特记录,以防遗忘。兼供各位参考。

 

以下是详细步骤:

a.使用 NuGet 安装 Oracle.ManagedDataAccess 到项目。

使用 Visual Studio 打开项目,右键点击项目,弹出菜单选择"管理 NuGet 程序包",搜索并安装 Oracle.ManagedDataAccess。

此处,我使用的是 Visual Studio Community 2019 , NuGet 搜索后安装的是 Oracle.ManagedDataAccess 19.10.1 。

如果弹出窗口,要求接收协议,选择"是"。

 

b. 编写代码,连接 Oracle 数据库,使用 sid, 不使用 tnsname。

示例代码如下:

 1 public void test() 2 { 3  //OK 4  string strConnectBySid = "Data Source =(DESCRIPTION =(ADDRESS=(PROTOCOL=TCP)(HOST =" + OracleConnectInfo.strDbIPOrHostName 5   + ")(PORT=" + OracleConnectInfo.iDbPort + "))(CONNECT_DATA=(SID =" + OracleConnectInfo.strDbServiceName 6   + "))); User Id = " + OracleConnectInfo.strDbUser + "; Password=" + OracleConnectInfo.strDbPassword + ";"; 7  8  using (OracleConnection conn = new OracleConnection(strConnectBySid)) 9  {10   conn.Open();11   string sql = "select 1 from dual";12   //string sql = "select cname from tm_user where id = 21728";13 14   using (OracleCommand cmd = new OracleCommand(sql, conn))15   {16    object o = cmd.ExecuteScalar();17    System.Console.WriteLine("ExecuteScalar:" + o);18   }19   conn.Close();20  }21 }

请注意,如果使用 tnsname, 则需要安装 oracle 客户端。而直接使用 sid, 则不需要安装 oracle 客户端。

 

===============欢迎转载,转载请注明出处:https://www.cnblogs.com/jacklondon/









原文转载:http://www.shaoqun.com/a/522277.html

跨境电商:https://www.ikjzd.com/

邮乐购物商城:https://www.ikjzd.com/w/1776

acedota:https://www.ikjzd.com/w/2070


最接我们公司的软件产品,决定增加支持新的数据库:Oracle数据库。偶尔发现,有个方法,C#使用sid连接Oracle(无需安装Oracle客户端),可以成功。特记录,以防遗忘。兼供各位参考。最接我们公司的折桂打印平台系统,决定增加支持新的数据库:Oracle数据库。其中主要代码是C#,其次是Java。Java连各种数据库,很容易,下载JDBC驱动程序就可以了。C#相对麻烦一点,我决定花点时间,进
折扣网站:折扣网站
myshow:myshow
黑帽or白帽?能邀评就是好帽!亚马逊14种邀评策略大盘点(二):黑帽or白帽?能邀评就是好帽!亚马逊14种邀评策略大盘点(二)
跨境卖家注意!4月即将实施的海关新政整合:跨境卖家注意!4月即将实施的海关新政整合
警惕!下架listing,暂停销售权限,甚至永久关闭店铺 ​:警惕!下架listing,暂停销售权限,甚至永久关闭店铺 ​

没有评论:

发表评论