关于oracle 免客户端执行SQL脚本

原理

通过调用oracle客户端动态库,来完成执行SQL脚本。

1、动态库来自 oracle10G 客户端安装过后的bin目录下(一定要是客户端,不能是服务器端的)

2、动态库分别为:oraociei10.dll、oraocci10.dll、orannzsbb10.dll、oci.dll。

3、将动态库直接放入你程序的BIN目录下代码中添加 System.Data.OracleClient 引用。

4、连接字符串写成:

 connStr = string.Format("Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1}))" 
                    + "(CONNECT_DATA=(SID={2})));User Id={3};Password={4};",数据库服务器所在机器的IP地址,
                    端口, 实例名, 用户名, 密码);


5、添加环境变量(确切的说不是添加到环境变量中,只是添加到程序上下文中),如果不添加该字符集,执行SQL语句时,如果有中文,会出现乱码。


        [DllImport("Kernel32.DLL", SetLastError = true)]
        public static extern bool SetEnvironmentVariable(string lpName, string lpValue);

SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.ZHS16GBK");

默认的字符集为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK (注意,该字符集必须与服务器的字符集一致否则导致中文乱码)。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值