2010年9月10日 星期五

IREPORT

設定當頁數等於1時才列印

Print When expression

new Boolean($V{PAGE_NUMBER}.intValue() == 1)



new java.lang.Float( ($V{SUM_TA018_C_1}.floatValue()) /($V{SUM_TB005_C_1}.floatValue()) )



如下面僅僅是兩個數相加

(new BigDecimal( Double.parseDouble($V{SUM_week_1_6} +"") +Double.parseDouble($V

{SUM_week_2_4}+"") ))



這個是Boolean判斷式的寫法

new Boolean($V{REPORT_COUNT}.intValue() % 2 == 0)

new Boolean( $F{SEX}.equals("1"))





這是if 判斷的寫法

$F{quantity} == null ? "No data" : String.valueOf($F{quantity})





Remove line when blank

移除空白行

SQL Server 「逾時過期」的處理方式

SQL Server 「逾時過期」的處理方式

基本上 SQL Server 只要在處理大量資料的指令,如 INSERT INTO A SELECT * FROM B 在資料量很大的時候,很容易發生 Timeout ,也就是常見的「逾期過時」錯誤。



SQL Server 本機用 Enterprise Manager 執行的話還好處理,只要更改設定值就好了。(工具->選項->進階,加大逾時秒數)。



但是絕大部份都是在 Remote 下 SQL Command ,只要量稍大,這種「逾期過時」出現的機率也隨之增加。



解決的方式最好是加大 SQL Server Remote Command 的 Timeout 時間,只要在 SQL Queryer 裡面下:



USE master

GO

EXEC sp_configure 'remote query timeout', 6000

GO

RECONFIGURE

GO



6000 代表的是秒數,也就是 6000 秒(SQL Server預設是 600 秒,)。



另一種就是用外部程式來處理,但是可能還是會受限於 SQL Server 的限制,尤其 ADODB 在這部份還有嚴重的Bug,詳見:



PRB: CommandTimeout Does Not Inherit From Connection Timeout

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q195489





程式設定 CommandTimeout 處理的範例:



Dim conn As New ADODB.Connection

conn.Open(ConnStr)

conn.CommandTimeout = 600 '秒

conn.Execute("INSERT INTO A SELECT * FROM B")

conn.Close()

conn = Nothing



需注意的是在 ADODB 2.6 以前,CommandTimeout 不可以設為 0 (無限制時間),非不得以要使用的話,必須使用 ADODB.Command,詳見:



FIX:使用 Connection 物件時的 CommandTimout 屬性問題

http://support.microsoft.com/default.aspx?scid=kb;zh-tw;175264





資料來源:http://blog.robbin0919.com/2008/03/sql-server.html



真是個好物…

趕快收藏…XD

SQL 2000移轉至SQL 2005會出現的問題

將原本SQL 2000上的資料庫備份原還至SQL 2005上時,

卻出現無法刪掉該資料庫底下的舊使用者

錯誤訊息如下:



標題: Microsoft SQL Server Management Studio

------------------------------

使用者 'test' 的 卸除 失敗。 (Microsoft.SqlServer.Smo)

如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=卸除+User&LinkId=20476

------------------------------

其他資訊:

執行 Transact-SQL 陳述式或批次時發生例外狀況。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

資料庫主體在資料庫中擁有 結構描述 且無法卸除。 (Microsoft SQL Server, 錯誤: 15138)

如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=15138&LinkId=20476





----------------------



處理方式如下:



1. 首先執行並登入SQL 2005的Microsoft SQL Server Management Studio

2. 展開test[資料庫]

3. 展開[安全性]

4. 展開[結構描述]

5. 刪除結構描述中的[test]

6. 再回到[使用者]

7. 即可刪除使用者中的[test]







----------------------



奇怪的地方就是,

沒辦法直接在使用者的介面,

就清除或變更結構描述。



真是不夠直覺式的介面…

這個問題已經卡了第三次,

備份一下,不然下次會再卡┬_┬。

SQL Server Native Client 10 ODBC won't load library on Windows 2000

SQL Server Native Client 10 ODBC won't load library on Windows 2000

Could not load the setup or translator library.

http://www.experts-exchange.com/Microsoft/Applications/Q_24084897.html


上面那個外國人跟我遇到一樣的問題,

中文的訊息會顯示:不在有可用的提供者,請確認提供者安裝正確。

結果發現微軟有這個

os版本表














SQL Server Native Client Version

Supported Operating Systems

SQL Server Native Client (SNAC9)

Microsoft Windows 2000 Service Pack 4 or later
Microsoft Windows Server 2003 or later
Microsoft Windows XP Service Pack 1 or later
Microsoft Windows Vista
Microsoft Windows 2008 Server

SQL Server 2008 Native Client (SNAC10)

Microsoft Windows Server 2003 SP1 or later
Microsoft Windows XP Service Pack 2 or later
Microsoft Windows Vista
Microsoft Windows 2008 Server

可連接資料庫版本














SQL Server Native Client Version

Supported SQL Server Versions

SQL Server Native Client (SNAC9)

Microsoft SQL Server 7.0
Microsoft SQL Server 2000
Microsoft SQL Server 2005
Microsoft SQL Server 2008
Next SQL Server version

SQL Server 2008 Native Client (SNAC10)

Microsoft SQL Server 2000
Microsoft SQL Server 2005
Microsoft SQL Server 2008
Next two SQL Server versions

資料來源:http://blogs.msdn.com/b/sqlnativeclient/archive/2008/02/27/microsoft-sql-server-native-client-and-microsoft-sql-server-2008-native-client.aspx

結論…

以目前來看,還沒新版的Sql Server上市前

SNAC9 相容性 >>>> SNAC10相容性

囧…

沒事不要灌太新。



2010年8月18日 星期三

1分鐘快速去除msn廣告

不用下載有的沒的程式,



也不用下載XX純淨版,



修改後重登msn馬上去除,



每天彈來彈去又該死的展開式(動畫式)的廣告,



還有聊天視窗下面跑馬燈式的廣告。



著手淨化你的msn和節省不必要的頻寬吧。



msn測試版本為 2009(Build 14.0.8089.726)



編輯



C:\WINDOWS\system32\drivers\etc\hosts



在最後加入



127.0.0.1 rad.msn.com

127.0.0.1 rad.live.com









完成





資料來源:http://briian.com/?p=642

2009年12月6日 星期日

我愛台灣

天啊,我笑到噴淚了…

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈





好強的老爸…




這段影片還上了新聞…= =








2009年7月8日 星期三

JavaScript 民國年日期加減函數

 User提了一個需求,



 當輸入一個日期時,



 自動算出輸入的日期  加一年減一日



 於是google了一下找到一個可用的程式,



但是裡面有些bug,



程式中月份沒先減再加,以致於天數的加減會算錯,



以下是修正為民國年並拿掉不會用到的功能。



------------------------------------------------------------



 加365日

 alert(addDate(4,365,'0960301'));

 →顯示 0970229




 加一年 減一日

 addDate(4,-1,addDate(1,1,'1000301'));

 →顯示 1000229




function addDate(type,NumDay,dtDate){

  var date = new Date();

  type = parseInt(type); //類型

  lIntval = parseInt(NumDay);//間隔

  date.setYear(parseInt(dtDate.substr(0,3),10) + 1911); //年設定

  date.setMonth(parseInt(dtDate.substr(3,2)-1,10) ); //月設定

  date.setDate(parseInt(dtDate.substr(5,2),10)); //日設定


  switch(type){

     case 1 ://年

        date.setYear(date.getYear() + lIntval)

        break;

     case 2 ://季度

        date.setMonth(date.getMonth() + (lIntval * 4) )

        break;

     case 3 ://月

        date.setMonth(date.getMonth() + lIntval)

        break;

     case 4 ://天

        date.setDate(date.getDate() + lIntval)

        break;

     default:

    }

 

   return  LPad(""+parseInt(date.getYear()-1911),"0",3) +'' +  LPad(""+parseInt(date.getMonth()+1),"0",2) + '' +  LPad(""+parseInt(date.getDate()),"0",2);

 }




//向左補零

function LPad(str,sub,len)

{

   var str1=str;

   while(1)

   {

      var i=str1.length;

   if (i>=len)

   {

   break;

   }

   else

   {

         str1=sub+str1;

      }

   }

   return str1;

}


 




原始版:http://www.souzz.net/big5.php?/html/web/web1/528.html