欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle数据库不需要安装客户端就能通过vs链接数据库的方法

程序员文章站 2023-11-02 19:11:22
今天来谈下oracle的一个类库 相信很多朋友写程序多少都要链接,oracle数据库在链接的时候需要用到oracle客户端的类库才能连接,这样写出来的程序使用起来非常的不方便,首先需要安装oracl...

今天来谈下oracle的一个类库

相信很多朋友写程序多少都要链接,oracle数据库在链接的时候需要用到oracle客户端的类库才能连接,这样写出来的程序使用起来非常的不方便,首先需要安装oracle的客户端,还要配置tnsname.ora文件,这样你写的程序才能连接oracle数据库。下面我就来介绍一种不需要安装oracle客户端,vs写出来的程序一样可以连接oracle数据库。下面是具体的步骤。

1.原来链接oracle的时候,使用的是system.data.oracleclient这个引用,这个引用是微软自带的oracle数据库访问类库,现在已经不再更新了,这个类库依赖oracle客户端的一些东西,所以使用的时候需要安装oracle的客户端才能连接数据库。下面我们使用oracle提供的访问类库,oracle.manageddataaccess.dll这个访问类库,直接到网上下载就行了,网上的资源很多,使用的时候直接添加到引用。

2.引用后在文件头添加oracle.managedaccess.client;

3.数据库连接字符串格式如下:data source=(description=(address=(protocol=tcp)(host=ip地址)(port=1521))(connect_data=(service_name=orcl)));persist security info=true;user id=帐号;password=密码;

4.代码片段如下

using system;
using system.linq;
using system.text;
using system.threading.tasks;
using oracle.manageddataaccess.client;
namespace oracletest
{
    class program
    {
        static void main(string[] args)
        {
            string constr = @"data source=(description=(address=(protocol=tcp)(host=localhost)(port=1521))
(connect_data=(service_name=orcl)));persist security info=true;user id=***;password=***;";
            string sql = "select * from student_tb";
            using (oracleconnection conn = new oracleconnection())
            {
                conn.connectionstring = constr;
                conn.open();
                using (oraclecommand cmd = new oraclecommand())
                {
                    cmd.connection = conn;
                    cmd.commandtext = sql;
                    using (oracledatareader reader = cmd.executereader())
                    {
                        while (reader.read())
                        {
                           string str = reader[1].tostring();
                           console.writeline(str);
                        }
                    }
                }
                
            }
            console.readkey();
        }
    }
}

亲测有效!