易截截图软件、单文件、免安装、纯绿色、仅160KB

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

.net 远程连接Oracle数据库看起来挺简单的,但实际做起来还是遇到不少问题。把我今天折腾这个东西的经验给大家共享吧。
  访问 oracle 数据库的方式很多,我用的是 OleDbConnection,这个没什么好说的,代码如下:
  1. 连接代码
    _OleDbConnection = new OleDbConnection(connectionString);
  _OleDbConnection.Open();
  2.连接字符串
  远程连接的连接字符串可以这样写
 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 就不说了。
  要能够成功运行上面代码,我们必须在代码运行的机器上安装 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 防火墙,就可以访问了。


相关文档:

oracle居然能调用java程序

以前只知道java能调用oracle存储过程和函数,但今天我发现原来oracle也可以调用java
测试环境oracle 10g
call dbms_java.set_output(5000);
--首先在oracle中编译java文件 以下是个简单的
create or replace and compile java source named helloworld as
public     class   hellowor ......

Oracle 目录服务

Create directory让我们可以在Oracle数据库中灵活的对文件进行读写操作,极大的提高了Oracle的易用性和可扩展性。
其语法为:
CREATE [OR REPLACE] DIRECTORY directory
AS 'pathname
';
本案例具体创建如下:
create or replace directory exp_dir as '/tmp';
目录创建以后,就可以把读写权限授予特定用 ......

.bat启动数据库服务(MSSQL,Oracle)

 @echo off
:dosmenu
REM 选择菜单
echo  Windows 服务启动或关闭 By hope 2008年2月7日     
echo.
echo [1]启动Sql Server2005   [2]关闭Sql Server2005
echo [3]启动Oracle9i         [4]关闭Oracle9i
echo.
echo  ......

oracle和Mysql连接数据库

Mysql方式:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MysqlDB {
 private String strClass = "com.mysql.jdbc.Driver";
 private String strDriver = "jdbc:mysql://localhost: ......

Oracle多粒度锁机制

(1)数据库锁的基本概念
基本锁类型有两种:排他锁(Exclusive locks)记为X锁 , 共享锁(Share locks)记为S锁。
     排他锁:若事务T对数据D加X锁,则其他事务都不能再对D加任何类型的锁,直至T释放D上的X锁;一般要求在修改数据前要向该数据加排他锁,所以排他锁又称为写锁。
  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号