Page tree
Skip to end of metadata
Go to start of metadata


如果数据源是Oracle数据库,数据源的定义方法如下:

(1)在报表设计器中,右键单击报表资源管理窗格中的【数据源】节点,再单击【添加数据源】。

(2)在数据源【类型】处选择"Oracle Client Provider"。

(3)输入服务器名称:请输入Oracle数据库服务器的IP地址,以及数据库实例名,中间用斜杠分隔,例如:127.0.0.1/orcl

(4)输入Oracle用户名、Oracle用户密码,勾选【保存我的密码】,如下图:

(5)点击【连接字符串】切换选项卡,点击对勾状图标,验证连接字串的正确性,如下图:

(6)点击【确定】按钮,保存数据源设置。


如果在【连接字符串】选项卡中测试连接失败,可考虑用以下方法排除错误:

(1)确保完整安装Oracle客户端软件,安装过程中选择【管理员】模式,以便包含所有必需的组件。并且,在64位操作系统中,必须既安装32位的Oracle客户端,又安装64位的Oracle客户端

(2)如果访问Linux上的Oracle数据库时出现TNS 12514错误,一个可能的原因是服务器上的服务名并非ServiceName而是SID。要解决此问题,可以在Net Manager中设置服务命名时,选中【使用Oracle8发行版8.0兼容标识】,然后在SID框中输入服务名。如下图:

这个服务命名的配置信息保存在tnsnames.ora文件中,该文件保存在C:\app\<UserName>\product\11.2.0\client_1\network\admin目录下,如下图:

可以看到常见的(Service_Name=xxx)会变成(SID=xxx)。如下图:

另外需要注意的是,只有Net Manager有那个SID的选项,用Net Configuration Assistant配置本地网络服务名时,没有机会指定SID。

(3)为Oracle数据源添加数据集时,请注意SQL语句中的参数名应为"冒号+参数名"的形式,如 where id = :P1

(4)基于Oracle数据源定义数据集时,如果SQL语句中有汉字,可能出现预览报表无数据的问题,原因是Oracle客户端组件ODP.NET(即Oracle Data Provider for .NET)默认不用Unicode的编码格式。解决办法是在数据源连接字串中加入Unicode=True; 如:

Data Source=1.2.3.4/orcl;User Id=hr;Password=123;Unicode=True;


  • No labels