oracle连接产品,使用ActiveReports 连接Oracle 数据库

ActiveReports 很早开始就已经支持Oracle数据库了,那这篇文章,我们就来学习如何搭建ActiveReports支持的Oracle环境及设置Oracle数据源。

ActiveReports 报表能否正常连接Oracel数据源取决于 Oracle的数据库驱动安装是否成功。因此安装Oracle数据驱动的版本和型号非常重要。

1. 安装Oracle 数据库驱动

注意:ActiveReports 仅支持32位的Oracel数据库驱动,因此在安装Oracle数据库驱动时一定要安装32位驱动。

安装32位驱动时,选择”管理员“,这样才能保证安装成功,否则安装不完全,也能导致ActiveReports无法连接数据库。

50c8862454bc9ee14d183f5df8249d6d.png

选择”下一步“,最后安装完成后,点击确定。

驱动安装成功后,我们的连接工作就已经完成一半了。

2. 使用ActiveReports 报表设计器连接数据库。

注意: 字符串的编写 添加数据源,选择Oracle Client Provider

输入服务器名称, 格式:”IP/Oracle服务名“,如10.32.0.200/ORCL

输入用户名和密码

点击连接字符串AR会根据您的输入,自动生成字符串,点击”√“验证是否连接成功。

10a4fb418781fe77e02344f7ad0225e6.png

b11333066838a93bd58488214fc65be4.png

如果按照上述步骤,无法正确连接,请尝试以下操作:

1. 修改连接字符串的为,因为有可能服务器端给出的是实例名 SID 而不是服务名,所以需要修改连接字符串如下:

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.23)(PORT=1521)) (CONNECT_DATA=(SID=myDB)));User Id=test;Password=123456;

OLE EB方式:

Provider=OraOLEDB.Oracle.1;Password=888;Persist Security Info=True;User ID=label;Data Source=pyoracle

2. 如果在使用AR控件的C#程序项目中,连接Oracle数据库有问题,显示如下错误信息:

未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。

那么可以尝试以下方法:

(1)不要引用Oracle提供的ODP.NET组件(Oracle.DataAccess.dll),改为引用微软的System.Data.OracleClient:

微软的:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.OracleClient.dll

(2)代码中用到OracleConnection类的地方,要修改using语句:

加上:using System.Data.OracleClient;

同时注释掉Oracle Provider的相关using语句:

//using Oracle.DataAccess.Types;

//using Oracle.DataAccess.Client;

(3)安装Oracle客户端。

System.Data.OracleClient本身只是一个接口,并没有连接Oracle数据库的能力。

如果不安装Oracle客户端,程序可能报出如下错误信息:

System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.

3. 如果访问Unix 的Oracle数据库出现TNS 12514错误,可能原因如下: 服务器上的服务名并非ServiceName而是SID。

解决方法: 可以在Net Manager中设置服务命名时,选中【使用Oracle8发行版8.0兼容标识】,然后在SID框中输入服务名。

76c9c7e89ddadbb1fffba77489fe085f.png

这个服务命名的配置信息保存在X:\app\xxx\product\11.2.0\client_1\network\admin目录下的tnsnames.ora文件中,可以看到常见的(Service_Name=xxx)会变成(SID=xxx)。

需要注意的是,只有Net Manager有那个SID的选项,用Net Configuration Assistant配置本地网络服务名时,没有机会指定SID,似乎只接受ServiceName,因此,如果网管提供的服务名只是SID而不是ServiceName的话,测试连接时就会一直提示12514错误。

4. 使用AR开发的ASP.NET应用程序,可能在部署之后查看报表报错:

No Data Provider found for the data provider type 'Oracle'.

可能的原因是AR的版本低于AR 10.1.*

只需下载AR 10.1.*或更新版本,安装到IIS所在电脑(不必先卸载旧版本),

然后将C:\Program Files (x86)\Common Files\GrapeCity\ActiveReports 10目录下的

GrapeCity.ActiveReports.*.dll文件复制到ASP.NET应用程序部署目录下的bin子目录下。

您在使用产品过程中有任何疑问,可以登录官方产品技术社区和经验丰富的技术工程师、ActiveReports开发人员交流:了解更多。

了解ActiveReports产品更多特性:

下载产品体验产品功能:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值