‘壹’ IReport新建数据库连接时报错:sql problems: [Microsoft][SQLServer 2000 Driver for JDBC],用户'sa'登录失
你这3个jar 包是 sql2000的驱动,你换个sql 2005 的驱动看看,我之前用 2005的驱动,sql2000不能用的
‘贰’ 怎么让ireport识别mysql数据库里的中文,比如带中文的数据表名。
1.因为系统都没有你的SQLServer的jar.
所以你现在应该要下载你相应的jar.
这里我提供SQLServer2008的。(因为我只用到mysql和SQLServer两种。mysql已经系统集成好了。所以我只好去下载SQLServer的)
http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=21599
2.如果可以就把相应的jar包放在IReport的安装目录中吧!(免得下次误删什么东西。就出什么差错。)
然后再用"Add JAR"加入到你的ClassPath中。
这样。IReport(我用的是IReport5.6.0,所以下面的界面是这样的。其他人就自己找一下ClassPath吧。)才检查到你的环境有com.microsoft.jdbc.sqlserver.SQLServerDriver这个驱动类
‘叁’ 使用JasperReport+iReport生成报表出现一个问题,请各位高手帮忙看一下!急!
日期格式不正确,转化字符串试试
'2008-01-01'的格式
‘肆’ ireport怎么连接sqlserver
这个应该没有限制,主要是jdbc是否支持,只要有相应数据库jdbc jar支持包就可以。以前曾经找到过。
‘伍’ ireport 日期传入参数
public static int iReport_print(HttpServletRequest request, HttpServletResponse response ) {
{
String getStartDate="07/25/2010"; //第二种赋值"20100725"
String getEndDate="08/25/2011"; //第二种赋值"20110825"
/*
以上变量的两种赋值格式在MyEclipse运行后均没有数据出来(运行后页面中会显示PDF界面,但该PDF界面上没有任何数据(即空白页)),个人认为是传递的日期参数格式有问题!此问题一直困扰着我...在线求高人能指点下,感激万分!
另外,worker_test2.jasper中SQL为:select distinct workerno,startdate,deptcode,enddate,workername from worker_test
where 1=1
and startdate=$P{start_date}
and enddate=$P{end_date}
其中start_date和end_date两参数类型均为java.lang.String
此语句在MS2000后台中对其赋值后(如and startdate='07/25/2010'
and enddate='08/25/2011')有数据出来
对于传递日期参数,ireport如何才能正常识别的到,而不会报类似错误Caused by: groovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.lang.String) values: [08/25/2011]
*/
ServletOutputStream ouputStream = null;
int return_int = 0;
try {
//报表编译之后生成的.jasper 文件的存放位置
String file_path = "D:/NetBeans6.1_code/Bug/build/web/reports/worker_test2.jasper";
File reportFile = new File(file_path);
//这个是用来联接我的SQL Server 的JDBC URL
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=KMSDB";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//传递报表中用到的参数值
Map parameters = new HashMap();
//"Name"是报表中定义过的一个参数名称,其类型为String 型
parameters.put("start_date", getStartDate);
parameters.put("end_date", getEndDate);
Connection conn = DriverManager.getConnection(url, "KMS", "KMS");
//在控制台显示一下报表文件的物理路径
//String print = JasperFillManager.fillReportToFile(file_path, parameters, conn);
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parameters, conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch (IOException ex) {
//Logger.getLogger(IReport_print.class.getName()).log(Level.SEVERE, null, ex);
return_int = 1;
} catch (JRException ex) {
System.out.print(ex.toString());
Logger.getLogger(IReport_print.class.getName()).log(Level.SEVERE, null, ex);
// return_int=1;
} catch (SQLException ex) {
//Logger.getLogger(IReport_print.class.getName()).log(Level.SEVERE, null, ex);
return_int = 1;
} catch (InstantiationException ex) {
//Logger.getLogger(IReport_print.class.getName()).log(Level.SEVERE, null, ex);
return_int = 1;
} catch (IllegalAccessException ex) {
//Logger.getLogger(IReport_print.class.getName()).log(Level.SEVERE, null, ex);
return_int = 1;
} catch (ClassNotFoundException ex) {
// Logger.getLogger(IReport_print.class.getName()).log(Level.SEVERE, null, ex);
return_int = 1;
}
return return_int;
}
}
更多0