oracle 水晶报表开发,水晶报表连接Oracle做数据报表笔记

首先,新建一个水晶报表的文件,这个时候要给这个报表文件绑定一个oracle数据源,

51ec02987a21983efe09328e095be23c.png

选择右侧菜单的这个东西,选择“数据库专家”,打开之后是这么一个界面:

e5eb1c8389a666bbd7c59d085dbd3707.png

选择建立新连接:

fec7b52e96b092f98df6cbc74cc3e01e.png

这个地方最关键,也是我为什么要写这篇日志的原因。这里很坑,就是这里的服务一定要是Oracle安装程序里的tnsnames.ora文件配置的节点的名称,切记!

例如这个:

ALi=

(DESCRIPTION=

(ADDRESS=

(PROTOCOL=TCP)

(HOST=192.168.1.1)

(PORT=1521)

)

(CONNECT_DATA=

(SERVICE_NAME=mir)

)

)

这里的服务就要填写ALi。然后再输入相应的用户名和密码就OK了。

第二章:参数

首先,水晶报表里面和RDLC一样有参数字段,然后水晶报表的数据源里面写自定义SQL的时候也是可以定义参数字段的。OK,那么问题来了,我们从.Net程序里传入的参数字段是什么呢?

首先,你在数据源自定义的sql里面新增的参数,会自动在报表参数字段中相应的新增一个参数。然后你也可以自己在参数字段中新增参数。跟数据源绑定的参数最下角是有一个小标识的:

8859cb5b19ca027719f58e6a262fc615.png

最后,上完整的.Net端的代码:

//实例化报表

ReportDocument rpt = new ReportDocument();

rpt.Load(Application.StartupPath + "\\Pan.rpt");

//注册数据源,如果不注册则打开报表的时候会提示登录

TableLogOnInfo log = new TableLogOnInfo();

log.ConnectionInfo.ServerName = "";

log.ConnectionInfo.DatabaseName = "orcl";

log.ConnectionInfo.UserID = "UserId";

log.ConnectionInfo.Password = "XXXX";

rpt.Database.Tables[].ApplyLogOnInfo(log);

//为报表控件绑定报表

this.crystalReportViewer1.ReportSource = rpt;

//设置参数,这里需要三个变量,对应的报表中每一个参数都可以传入多个值

ParameterFields t = new ParameterFields();

ParameterField paramField = new ParameterField();

ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();

ParameterValues paramValues = new ParameterValues();

paramField.ParameterFieldName = "ProductId";

paramDiscreteValue.Value = "PA01010020";

paramValues.Add(paramDiscreteValue);

paramField.CurrentValues = paramValues;

t.Add(paramField);

this.crystalReportViewer1.ParameterFieldInfo = t;

在VS2012后的版本中做数据报表时,提示尚未指定报表“Report1”的报表定义

有一群的朋友在用VS2012做数据报表时,老是提示 本地报表处理期间出错. 尚未指定报表“Report1”的报表定义 未将对象引用设置到对象的实例. 我看了一下,步骤没错,我用VS2010做了一下,一 ...

MS SQL到Oracle的数据迁移笔记

MS SQL到Oracle的数据迁移笔记 一.任务背景 旧系统使用MS SQL Server数据库,新系统使用Oracle数据库,现在需要将旧系统中的数据迁移到新系统中,旧数据按照约定的规则转换后,能 ...

SSRS连接ORACLE数据库制作报表

SSRS报表基于ORACLE数据库做报表示例. 开发环境:VS2010 SQL SERVER 数据库:SQL SERVER 2012 PS:数据库连接部分可能有还有个问题就是ORACLE数据源这一部分 ...

python连接oracle导出数据文件

python连接oracle,感觉table_list文件内的表名,来卸载数据文件 主脚本: import os import logging import sys import configpars ...

c# 连接oracle 读取数据

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

linux shell脚本连接oracle查询数据插入文件和日志文件中

#!/bin/sh sqlplus "用户名/密码@数据库"<

EF6 连接Oracle 迁移数据错误解决方法

环境:vs2015 + EF6 +ODP 数据库Oracle 11G add-migratioin 正常,但在update-database 时报如下错误: System.Runtime.Serial ...

连接oracle读取数据

没怎么用过oracle,而且是在地税内网内部估计是防火墙的原因虚拟机里也连不上oracle,刚开始费了很多周折查找问题,现在又放弃使用直连数据库了,记下来以备后用吧 public class Load ...

【转】mybatis连接Oracle做增删改查

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值