當前位置:首頁 » 編程語言 » ireportsqlserver
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ireportsqlserver

發布時間: 2022-04-08 12:56:37

『壹』 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