部落客廣告聯播

2008年10月24日 星期五

WebSphere 6.1 內配置的Connection Pool DataSource取得的連線 resultSet closed錯誤....

經由WebSphere 6.1 內配置的Connection Pool DataSource取得的連線 , 在某些狀況查詢回來的ResultSet在操作時會發生 :

com.ibm.db2.jcc.c.SqlException: [ibm][db2][jcc][10120][10898] 作業無效:result set 已關閉。 (result set closed)

錯誤訊息, 這些錯誤在Tomcat內使用tomcat自帶的Connection pool DataSource並不會發生。

解決方法: 使用WAS管理主控台, 設置該DataSource的參數 resultSetHoldability 為 1

(詳細設定步驟 請參考網頁:

http://gocom.primeton.com/blog_24523.htm?PHPSESSID=8...

並以「result set closed」為關鍵字搜尋該頁面)

2008年10月13日 星期一

[JavaScript] email地址驗證


(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.email.value))


地址格式正確回傳回true,否則回傳false

2008年10月9日 星期四

Websphere 6.1.0無法安裝兩個以上War檔

在websphere 6.1的管理主控台, 安裝新應用程式, 要上第二個WAR檔時,最後出現找不到META-INF/Application.xml之類的錯誤訊息。
Ant task呼叫安裝, 也是失敗。
反覆尋找才知道要裝上6.1.0.19 fix pack問題就解決了~~

2008年8月14日 星期四

Eclipse 匯出WAR透過Websphere主控台程式安裝到WAS會有文件丟失問題

Eclipse 匯出WAR透過Websphere主控台程式,
安裝到WAS, WAS在解開時會有文件丟失問題。

此乃該Eclipse專案為CVS專案, 其WAR檔可能會有內含 「.#」開頭的垃圾檔案。
只要刪除WAR檔中的這些垃圾檔案, 即可正常deploy至Websphere。

詳細可參考:
解决webspherewar包部署后丢失文件的问题

2008年8月7日 星期四

RowSet分頁與MS SQL Server2005的問題

使用CachedRowSet的setPageSize()之後, 作execute動作竟然會錯誤 -->
com.microsoft.sqlserver.jdbc.SQLServerException: 不支援此資料指標類型/並行的組合。(The cursor type/concurrency combination is not supported.)

上網查了一下, 大概得到的答案是MS SQL Server 2005不支援 (TYPE_SCROLL_INSENSITIVE + CONCUR_UPDATABLE)組合。
納悶的是我明明已經將CachedRowSet物件設為 ( TYPE_SCROLL_INSENSITIVE , CONCUR_READ_ONLY)組合, 為何在setPageSize後會出現錯誤呢??

RowSet RI現行版本是non-Open Source的(在OPEN JDK7中才有公開原始碼), 所以Debug時真的不好抓出問題點。

通過些反編工具檢查原始碼, 才發現在CachedRowSetReader類別readData方法中有一段:

.......
if (cachedrowset.getPageSize() == 0) {
cachedrowset.populate(resultset);
} else {
preparedstatement = connection.prepareStatement(
cachedrowset.getCommand(), ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
..........


既然如此, 也就是說要解決此問題的話, 我們要建立自己的CachedRowSetReader和Provider類別並在實體化CachedRowSet物件時指定Provider。
另外建立一繼承CachedRowSetImpl物件override傳hashtable建構子在其內要生成SQLWarning及RowSetWarning給自己的成員,才不會照成NullPointException

2008年7月30日 星期三

[Javascript] parseInt("08")問題

使用Javascript轉換型態有個很有趣的問題
parseInt("01") ~ parseInt("07") 都正常
但parseInt("08") parseInt("09")結果都為零

原因可參考http://blog.xuite.net/n3785/tech/12824014

解決方法:
parseInt("08",10);
Number("08");

2008年7月22日 星期二

[JavaScript]使用CSS Expression達成table奇行偶行顏色變換

使用CSS Expression達成table奇行偶行顏色變換,


<style type="text/css">
tr{
table:expression(this.style.background=(rowIndex%2==1)?'orange':'red')
}
</style>

很可惜的CSS Expression只在IE適用..........

2008年7月20日 星期日