C# 使用oledb 方式连接本地或者远程oracel 数据库的方式

对于C# 进行oracle 数据库的开发来说使用oracle 提供的odp.net 方式是比较方便的,同时在性能以及兼容性也是比较好的

但是,对于不打算使用的,那么该如何使用oledb 进行连接

连接的方式大家可定都比较了解就是ADO.net 但是最重要的是连接字符串是怎么样的。

先贴测试代码:

using (OleDbConnection ole = new
OleDbConnection(tep))
           
{

OleDbCommand cmd = new OleDbCommand("select * from
firstclass");
               
cmd.Connection =
ole;
               
OleDbDataAdapter dr = new
OleDbDataAdapter(cmd);
               
DataSet ds = new
DataSet();
               
dr.Fill(ds);
               
dataGridView1.DataSource =
ds.Tables[0];
           

            }

大家可以看到是很简单的,但是上面的tep 即连接字符串改何如写呢。

一般有一下几种使用dsn 的方式进行配置并写好,但是对于不太了解odbc 配置的人员会比较费时。

如何使用根据odp.net 的连接方式然后根据vs 的调试提示,获取连接字符串呢?比较简单

我的获取方式是如下的:

1. odp.net 的连接名称

string connstring = @"Data
Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))
               
(CONNECT_DATA=(SID=ORCL)));User Id=AppServerUser;Password=1234;";

以上为odp方式的连接字符串

2. 我们默认就使用这个进行调试

这是vs 的提示

也就是我们没有提供provider 简单我们加上示例的先试试

3. 加上的测试

这是加上的连接字符串   string tep = "Data
Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =
127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)));User
Id=AppServerUser;Password=1234;Provider=SQLOLEDB;";

4. vs 调试的提示

比较诡异的是我们使用的是oracle但是提示的是sql server 为什么?

5. 原因是我们使用的provider 并不是oracle 的

6.解决方式

使用oracle的provider 名称

应该是如下的:

Provider=OraOLEDB.Oracle;

7.最终的连接字符串

string tep = "Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL =
TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)));User
Id=AppServerUser;Password=1234;Provider=OraOLEDB.Oracle;";

8.使用vs
进行调试

ok
数据获取成功

使用这种方式尽管是复杂了,但是这种方式可以获取远程以及本地的oracle
数据库

大家如果注意的话,这里的连接字符串是根据
tnsnames.ora 文件的格式获取的,实际上 这个文件的配置才是连接oracle 数据

库最重要的配置。希望对大家有帮助。

时间: 2024-07-29 14:28:50

C# 使用oledb 方式连接本地或者远程oracel 数据库的方式的相关文章

rman 连接本地、远程数据库方法解析

rman 连接: 连接到本地数据库: 1.首先指定ORACLE_SID : --如果数据库只有一个实例,那么就不需要进行指定了,rman默认连接到唯一的实例上: >set ORACLE_SID=ORCL 2.然后rman target usr/pwd nocatalog:--这样默认就是连接的指定的数据库服务名称,关于catalog是什么意思,我还不知道: >rman target usr/pwd nocatalog: 3.也可以不指定用户名和密码 rman target /:--这种方式以什

本地备份远程服务器数据库(待考证)

有A数据库服务器,B本机:  我现在想通过在B机器上通过代码调用SQL来执行A数据库的备份到B机器上  调用的SQL语句为:Backup Database MYDATABASE To Disk='D:/test.bak',这样备份的目录是数据库服务器A的D盘下:  怎么才能备份到A的D盘下呢?  请各位给予建议,谢谢! -----------------------------------------------------------------------------------------

PL/SQL Developer连接本地64位Oracle数据库

1.安装oracle Clinet 首先到Oracle官网上去下载一个Oracle 11g Client(我的是11g的oracle),不过需要先申请一个Oracle 帐号,才能下载. 目前下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html 这个一个绿色版的Oracle Client,因此只要需要解压了,就可以是.将下载的Oracle Client文件instantclient-basic-win32-11.2.0.

Dos 连接远程DB2数据库及其常用操作

用DOS操作连接本地或远程数据库步骤如下:1.建立catalog 2.建立别名 3.执行select语句 1.doc中输入db2cmd,输入 db2 catalog tcpip node p600 remote 192.168.161.42 server 50002 # 建立数据库URL信息的别名p6002.db2 catalog db bpmkf as db_42 at node p600 # 建立数据库bpmkf连接的别名db_423.db2 connect to db_42 user bp

C++ ADO方式连接mysql数据库

对于软件开发其实说白了就是在不停地和数据打交道, 所以数据库的操作是必不可少的, 接下来介绍VC开发中利用ADO建立ODBC数据源来访问MySQL数据库. 从我接触的数据库编程方式来说, 我觉得在vc开发连接数据库是比较难的, 也是很容易出错. 在android中, 系统自带sqlite数据库,只需要使用SQLiteOpenHelper抽象类即可完成与数据库的操作. 在java中, 使用jdbc连接mysql数据库, 下载相应jar调用相应接口,传入数据库类型与用户名密码进行数据库的操作. 但是

android数据库编程:连接服务器上的MySQL数据库详细示例

1 public class DatabaseDemo extends Activity { 2 private TextView textView; 3 4 @Override 5 protected void onCreate(Bundle savedInstanceState) { 6 // TODO Auto-generated method stub 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.acti

Hive的三种安装方式(内嵌模式,本地模式远程模式)

一.安装模式介绍:     Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景.     1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错)     2.本地模式(本地安装mysql 替代derby存储元数据)     3.远程模式(远程安装mysql 替代derby存储元数据) 二.安装环境以及前提说明:     首先,Hive是依赖于hadoop系统的,因此在运行Hive之前需要保证已经搭建好hadoop集群环境.     本文中使用的

本地Windows远程桌面连接阿里云Ubuntu服务器

本地Windows远程桌面连接阿里云Ubuntu 16.04服务器: 1.目的:希望通过本地的Windows远程桌面连接到阿里云的Ubuntu服务器,通过远程桌面图形界面的方式操作服务器. 2.条件:申请的阿里云Ubuntu服务器一台,本地Windows操作系统电脑一台. 3.如何远程桌面连接: (1)首先通过Windows系统下连接Linux系统的命令行工具连接Ubuntu服务器,(工具:xshell,securecrt,putty等). (2)通过Windows下工具连接到linux操作系统

sqlserver 2000远程无法连接 本地连接OK

SQL Server连接中的四个最常见错误: 一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性: 1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. ============= 首先,检查网络物理连接 =============ping <服务器IP地址/服务器名称> 如果