2025年C连接Oracle数据库的教训

C连接Oracle数据库的教训C 连接 Oracle 数据库的字符串如下 Data Source GDBZH User Id zhangf Password guangy 需要特别指出的是 Data Source 这个值是什么 从哪里获取到 后面两个 能在这里看到的 估计都知道意思了吧

大家好,我是讯享网,很高兴认识大家。

C#连接Oracle数据库的字符串如下:

Data Source=GDBZH;User Id=zhangf;Password=guangy;

需要特别指出的是Data Source这个值是什么,从哪里获取到(后面两个,能在这里看到的,估计都知道意思了吧,后面两个不解析了)。

Data Source:从字面上解释就是数据源,这个数据源是从Oracle的tnsnames.ora文件中去找的。而并非是在系统的“管理工具”下的“数据源(ODBC)”中找。这个tnsnames.ora文件是在Oracle的安装目录下的“network\admin\”下。如我这个例子的GDBZH是这样的:

GDBZH =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = GDBZH)
    )
  )

这里说明一下:SERVICE_NAME = GDBZH 这个应该是Oracle是数据库的名称。在安装时如果没改的话,一般默认是ORCL。

下面转载一下相关的资料:

 

 

连接字符串和对象


讯享网

Oracle 连接字符串和 Oracle 名称解析是不可分的。假定我们在 tnsnames.ora 文件中定义了一个数据库别名 OraDb,如下:

OraDb= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=OTNSRVR)(PORT=1521)) ) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=ORCL) ) ) 

讯享网

OraDb 别名定义客户端的数据库地址连接信息。要使用上面所述的在 tnsnames.ora 文件中定义的 OraDb 别名,您需要使用以下语法:

讯享网Dim oradb As String = "Data Source=OraDb;User Id=scott;Password=tiger;" ' VB.NET string oradb = "Data Source=OraDb;User Id=scott;Password=tiger;"; // C# 

不过,您可以修改连接字符串,这样就不需用 tnsnames.ora 文件。只需用在 tnsnames.ora 文件中定义别名的语句替换别名即可。

' VB.NET Dim oradb As String = "Data Source=(DESCRIPTION=" _ + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=OTNSRVR)(PORT=1521)))" _ + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _ + "User Id=scott;Password=tiger;" // C# string oradb = "Data Source=(DESCRIPTION=" + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ORASRVR)(PORT=1521)))" + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" + "User Id=scott;Password=tiger;"; 

正如您在上面看到的那样,用户名和口令是以不加密的文本形式嵌入到连接字符串中的。这是创建连接字符串的最简单的方法。然而,从安全的角度而言不加密文本的方法是不可取的。尤其是,您需要了解编译的 .NET 应用程序代码仅比不加密文本形式的源代码文件稍微安全一点。可以非常简便地反编译 .NET DLL 和 EXE 文件,进而查看原始的不加密文本形式的内容。(加密实际上是正确的解决方案,但这个主题与我们这里的讨论相差太远。)

 

接下来,您必须从连接类中完成一个连接对象的实例化。连接字符串必须与连接对象关联。

讯享网Dim conn As New OracleConnection(oradb) ' VB.NET OracleConnection conn = new OracleConnection(oradb); // C# 

注意,通过将连接字符串传递给连接对象的构造器(该构造器进行了重载),连接字符串与连接对象建立关联。构造函数的其他重载允许以下这些替代的语法:

Dim conn As New OracleConnection() ' VB.NET conn.ConnectionString = oradb OracleConnection conn = new OracleConnection(); // C# conn.ConnectionString = oradb; 

在连接字符串与连接对象建立关联之后,使用 Open 方法来创建实际的连接。

讯享网conn.Open() ' VB.NET conn.Open(); // C# 

 

小讯
上一篇 2025-03-07 07:27
下一篇 2025-04-03 08:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/36618.html