C#在64位操作系统上连接Oracle的问题和解决方案
C#使用System.Data.OracleClient连接Oracle数据库。之前在WinXP上正常运行的程序移植到 Windows 2008 x64上之后就连不上数据库了,错误信息如下:
尝试加载 Oracle客户端库时引发BadImageFomatException。如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题。
错误原因是原来WinXP机子上所安装的OracleInstantClient是32位,所以编译的程序所用的 OracleClient也是32位的,从而导致兼容问题。当然,如果在64位操作系统上重新安装64位的Oracle客户端再重新编译程序也是能解决问题的。这里我们介绍一种简单的方法来移植程序。
实际上,System.Data.OracleClient所指向的是PATH环境变量下的oci.dll。因此,我们只要让程序能够找到64位的oci.dll就可以了。方法如下:
1. 下载instantclient-basic-win-x86-64-11.1.0.7.0.zip,并解压,如 C:\instantclient-basic-win-x86-64-11.1。
2. 在系统的环境变量PATH中加入以上路径。
之后再运行程序,程序会依照PATH路径寻找oci.dll,如果遇到32位的oci.dll会自动略过,找到64位的oci.dll就能连接上数据库了。
解决过程中参考了Jeffrey的博文,http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/10/19/system-data-oracleclient-requires-oracle-client-software-version-8-1-7.aspx,一并表示感谢。
相关文档:
•何为审计
数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录。
•现实作用
安全控制、跟踪数据变化、程序BUG调试、自定义的数据汇总分析、操作日志
•存储方式
一种是存储在操作系统文件中,一种是存储在system表空间中的SYS.AUD$表中
......
package DBbean;
import java.sql.*;
public class ConnBean
{
private Connection con;
//初始化连接。
public ConnBean()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
......
在
Oracle
数
据库
中,
主要有两种
日志
操作模式,分别为非归
档模式与归档模式。默认情况下,数据库
采
用的是非归档模式
。作为一个合格的数据库管
理
员,应当深入了解这两种日志操作模式的特点,并且在数据库建立时,选
择合适的操作模式。
笔者
今天就谈谈自己对这两种操作模式的理解,并且给出 ......
ORACLE 10g下载地址
Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit)
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip
http://download.oracle.co ......
一次oracle 10g rac故障处理:
rhel4-1->crs_stat -t
Name Type Target State Host
------------ ......