`
backspace
  • 浏览: 137128 次
文章分类
社区版块
存档分类
最新评论

.net 程序远程连接 Oracle 数据库

 
阅读更多
 
这里需要注意的是 OleDbConnection 对 Clob 之类的 Oracle 9i 的数据类型不支持,必须使用 OracleConnection
参见 INFO: Limitations of Microsoft Oracle ODBC Driver and OLEDB Provider
如果用 OracleConnection 必须安装 .NET Managed Provider for Oracle
下载地址
.NET Managed Provider for Oracle
 

2.连接字符串

远程连接的连接字符串可以这样写

OleDbConnection 的连接字符串:

provider=MSDAORA;host=192.168.1.1;data source=MyTest;user id=system;password=xxx

provider = MSDAORA; 指明oledb 的提供者是oracle数据库

host 是远程 oracle 数据库所在服务器的IP地址,如果端口不是默认的 1521,还要加上一个 Port=xxxx;

data source 是要访问的 oracle 数据库的名字

user id 和 password 就不说了。

 

.NET Managed Provider for Oracle 的连接字符串:

server=192.168.1.1;data source=MyTest;user id=system;password=xxx

 

要能够成功运行上面代码,我们必须在代码运行的机器上安装 oracle 的客户端,否则会报

The Oracle(tm) client and networking components were not found 这个错误。

 

3. 主机防火墙设置

我的 Oracle 安装在 windows 2003 server 上,为了安全起见,必须设置防火墙

我在 windows 2003 下将 1521 端口开放,发现无法连接数据库,抓包看了一下,oracle 客户端在连接了 1521 后又去连接了一个随机的端口 1197

查了一下资料,oracle 的 network listener 只起一个中介作用,当客户连接它时,它根据配置寻找到相应的数据库实例进程,然后分配一个新的数据库连接,这个连接端口由network listener传递给客户机,此后客户机就不再和network listener打交道了,而是和 oracle.exe 这个进程打交道了。这个新的连接端口是不可预知的,因而会被防火墙阻止。

要解决这个问题,网上查到的办法是采用共享套接字,这个方法应该是一个比较通用的办法,如何做详见

在windows server 2003系统防火墙上开放Oracle服务端口 连接1521 TNS超时 

不过我偷了个懒,因为我只用 windows 的防火墙,windows 防火墙可以对某个进程开放所有端口。所以只要按下面图示的方式设置一下windows 防火墙,就可以访问了。

 

image

 

image

 

 

4. 客户端和服务器的字符集

插入中文时显示乱码,需要将客户端和服务器的NLS_LANG 都设置为

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

Windows 下

修改注册表

    HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0 下的NLS_LANG (9i)
    HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1 下的NLS_LANG (10g)

0
1
分享到:
评论

相关推荐

    不用装Oracle客户端实现C#.NET连接远程Oracle数据库的一种方法

    本文将详细介绍一种无需安装Oracle客户端,仅使用C#.NET就能连接远程Oracle数据库的方法,这对于轻量级的开发环境或者不希望安装大型客户端的场景尤其适用。 首先,你需要下载Oracle的数据提供程序,即Oracle Data ...

    c# asp.net 读取 连接oracle数据库源码(不用安装oracle客户端)

    在IT行业中,数据库连接...通过这个“OracleTest”项目,开发者可以学习到如何在C# ASP.NET环境下,利用ODP.NET免客户端方式实现远程Oracle数据库的连接和数据操作。这种方法降低了对开发机器的要求,提高了开发效率。

    ASP.Net连接Oracle数据库的方法

    asp.net连接oracle数据库的方法,得到了如下代码。这段代码打开了MyTable表,并把操作员的名字列出。字段类型是OracleString。读取的时候用的是字段编号,我不知道怎么使用字段名来读取某字段的内容。

    unity2017远程连接Oracle数据库

    unity2017远程连接Oracle数据库,之前下了一个,但是文件有错误,现在改了;主要是两个类库要引用好,而且unity要切换成.net4.6;记得让数据库人员把连接字符串配好;

    vb.net数据库连接实例

    在VB.NET中,数据库连接是开发任何数据驱动应用程序的基础,无论是简单的人事管理系统还是复杂的图书馆管理或学生名册管理系统。本实例将详细讲解如何在VB.NET中建立与数据库的连接,进行数据操作,并确保程序的稳定...

    远程连接oracle数据库

    远程连接Oracle数据库是数据库管理中常见且重要的任务,尤其在分布式系统和远程协作环境中。本文将详细介绍如何在虚拟机上安装Oracle服务器,并在用户机上配置Oracle客户端或Instant Client,以便进行远程数据库连接...

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    您可能感兴趣的文章:常用的Oracle doc命令(收藏)Oracle 多行记录合并/连接/聚合字符串的几种方法Oracle中字符串连接的实现方法php连接oracle数据库及查询数据的方法plsql连接oracle数据库报ora 12154错

    VC远程连接Oracle数据库方法

    3. **设置TNSNames.ORA**:在Oracle客户端的网络配置文件TNSNames.ORA中,定义远程Oracle服务器的连接信息。格式通常如下: ``` MY_CONNECTION = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)...

    利用oracle客户端instantclient+navicat远程连接oracle数据库(含win32位+win64位)

    内部包含:win32位:oracle客户端instantclient(是11.0版本的)+navicate; win64位 :oracle客户端instantclient(是11.0版本的)+navicate; 下载安装后,再配置环境变量,navicate加载oci.dll即可;具体可以参考...

    vb.net连接oracle

    将VB.NET与Oracle结合,可以创建能够访问和操作Oracle数据库的应用程序。以下是一个关于如何使用VB.NET连接Oracle的知识点详细说明: 1. **安装环境**: 在进行VB.NET连接Oracle之前,确保已安装以下组件: - ...

    C#连接Oracle数据库Oracle.ManagedDataAccess

    这是一个.NET框架下的动态链接库,包含了用于C#连接Oracle数据库的所有必需组件。通过引用这个库,开发者可以直接在C#代码中使用Oracle的数据访问类和方法,实现对Oracle数据库的CRUD(创建、读取、更新、删除)操作...

    C#连接远程Oracle数据库源码

    在提供的压缩包文件"ConsoleOracle"中,很可能包含了演示如何使用C#通过ODP.NET连接远程Oracle数据库的示例代码。你可以通过查看并运行这个项目,学习和理解上述步骤的实际应用。这将有助于你在开发过程中更有效地与...

    易语言远程ORACLE数据库服务源码

    总的来说,易语言远程ORACLE数据库服务源码为开发者提供了一个便捷的工具,帮助他们快速构建能够远程访问ORACLE数据库的应用程序。然而,深入理解和掌握源码的工作原理,以及如何安全、高效地使用,仍然是每个开发者...

    通过Web服务连接Oracle数据库.rar

    本文将深入探讨如何通过Web服务连接到Oracle数据库,以便实现远程数据交互和应用集成。Oracle数据库是企业级的数据库管理系统,而Web服务则是一种标准化的方式,允许不同的应用程序之间进行通信。 首先,让我们了解...

    不安装Oracle客户端,远程连接oracle,C#

    6. 编译并运行程序,此时程序应该能够通过解压的Instant Client组件,成功连接到远程Oracle数据库。 在Winform应用中,你可能需要创建一个用户界面来输入数据库连接参数,然后在后台代码中使用这些参数建立连接。...

    sqlservice数据库连接oracle数据库并操作oracle数据方法(图文说明)

    本教程将详细介绍如何使用Sql Service连接到Oracle数据库,并进行数据操作。在数据库管理系统中,SQL Server (Sql Service) 是一款强大的工具,而Oracle则是另一个广泛使用的数据库系统。通过两者之间的链接,我们...

    C 连接Oracle数据库的简单应用.doc

    在.NET框架中,`System.Data.OracleClient.dll` 组件为开发者提供了便捷的方式来连接和操作Oracle数据库。这一节主要介绍如何利用这一组件实现从客户端连接到Oracle数据库。 ##### 1. 使用客户端网络服务名连接 ...

    .Net连接Oracle数据库的实现代码

    在.NET框架中,连接Oracle数据库通常有两种主要的方式:System.Data.OracleClient和Oracle Data Provider for .NET (ODP.NET)。本文将详细讲解使用System.Data.OracleClient的方式,这是一种由Microsoft提供的ADO...

Global site tag (gtag.js) - Google Analytics