FTP時發生錯誤訊息,並只傳部分資料:
Unable to convert data from CCSID 937 to CCSID 950: reason 3028.
有DBCS(雙位元組字元集)字元時因0E/0F不成對,傳到該筆資料就會因無法轉換而終止。
2008年8月17日 星期日
2008年8月14日 星期四
2008年8月12日 星期二
replace() 遇到NULL時發生錯誤
replace 遇到 Null 值時會發生錯誤,錯誤訊息:Null 的使用不正確: 'replace'
原程式碼:
out = out & replace(asrs.Fields(i).Value,","," ") & ","
改為:
If Not IsNull(as400rs.Fields(i).Value) Then
out = out & replace(asrs.Fields(i).Value,","," ") & ","
Else
out = out & " " & ","
End If
原程式碼:
out = out & replace(asrs.Fields(i).Value,","," ") & ","
改為:
If Not IsNull(as400rs.Fields(i).Value) Then
out = out & replace(asrs.Fields(i).Value,","," ") & ","
Else
out = out & " " & ","
End If
2008年7月7日 星期一
SQL Command Time
在Excel中使用ADO連線至SQL Server,是常用且簡單的報表製作方式。
最近有遇到一個前輩做的Excel檔案,是可供使用者輸入日期區間後,查詢期間的交易統計表。
越來越多使用者跟我反應常常會出現『逾時終止』的錯誤訊息,我測試計算了一下出現錯誤訊息的時間都為30秒。
上網查了一下資料,原來CommandTimeout(SQL語法執行的時間)預設值為30秒,解決方法就是給他設長一點啦。
Dim cn As New ADODB.Connection
Dim recset As ADODB.Recordset
Dim connectstr As Stringconnectstr = "Driver={SQL Server};Server=local;Network=DBMSSOCN;Database=northwind;Uid=sa;Pwd=sa;"
cn.Open connectstrOn Error GoTo err_rtn
cn.CommandTimeout = 600 '秒
Set recset = New ADODB.Recordset
recset.Open sour, cn
最近有遇到一個前輩做的Excel檔案,是可供使用者輸入日期區間後,查詢期間的交易統計表。
越來越多使用者跟我反應常常會出現『逾時終止』的錯誤訊息,我測試計算了一下出現錯誤訊息的時間都為30秒。
上網查了一下資料,原來CommandTimeout(SQL語法執行的時間)預設值為30秒,解決方法就是給他設長一點啦。
Dim cn As New ADODB.Connection
Dim recset As ADODB.Recordset
Dim connectstr As Stringconnectstr = "Driver={SQL Server};Server=local;Network=DBMSSOCN;Database=northwind;Uid=sa;Pwd=sa;"
cn.Open connectstrOn Error GoTo err_rtn
cn.CommandTimeout = 600 '秒
Set recset = New ADODB.Recordset
recset.Open sour, cn
2008年6月16日 星期一
Perl 取系統日期
# 取得秒, 分, 時, 日, 月, 年
($sec,$min,$hour,$day,$mon,$year)=localtime(time);
# 月比實際少一, 所以加 1
if (length ($mon) == 1) {$mon = '0'.$mon;}
$mon++;
# 判斷是否為個位數, 若是則在前面補 0
if (length ($mon) == 1) {$mon = '0'.$mon;}
if (length ($day) == 1) {$day = '0'.$day;}
if (length ($hour) == 1) {$hour = '0'.$hour;}
if (length ($min) == 1) {$min = '0'.$min;}
if (length ($sec) == 1) {$sec = '0'.$sec;}
# 年比實際西元年少 1900, 所以加上 1900
$year += 1900;
# 組合成完整的時間
($sec,$min,$hour,$day,$mon,$year)=localtime(time);
# 月比實際少一, 所以加 1
if (length ($mon) == 1) {$mon = '0'.$mon;}
$mon++;
# 判斷是否為個位數, 若是則在前面補 0
if (length ($mon) == 1) {$mon = '0'.$mon;}
if (length ($day) == 1) {$day = '0'.$day;}
if (length ($hour) == 1) {$hour = '0'.$hour;}
if (length ($min) == 1) {$min = '0'.$min;}
if (length ($sec) == 1) {$sec = '0'.$sec;}
# 年比實際西元年少 1900, 所以加上 1900
$year += 1900;
# 組合成完整的時間
$date = "$year$mon$day";
$time = "$hour$min$sec";
$alltime = " $date/$time";#年初、年底
$s_date = ($year-11)."$mon"."01";
$e_date = ($year-11)."$mon"."31";
2008年6月3日 星期二
SQL語法取當天日期Getdate()
- YYYY/MM/DD: Convert(varchar(10),Getdate(),111)
- YYYYMMDD: Convert(varchar(10),Getdate(),112)
- HH:MM:SS: Convert(varchar(8),Getdate(),108)
- HH:MM:SS:mmm: Convert(varchar(12),Getdate(),114)
- HHMMSS: Replace(Convert(varchar(8),Getdate(),108),':','')
- HHMMSSmmm: Replace(Convert(varchar(12),Getdate(),114),':','')
- YYYY/MM/DD HH:MM:SS: Replace(Convert(varchar(30),Getdate(),120),'-','/')
- YYYY/MM/DD HH:MM:SS: Replace(Convert(varchar(30),Getdate(),121),'-','/')
- YYYY/MM/DD HH:MM:SS: Convert(varchar(10),Getdate(),111) + Space(1) + Convert(varchar(8),Getdate(),108)
- YYYYMMDDHHMMSS: Convert(varchar(10),Getdate(),112) + Replace(Convert(varchar(8),Getdate(),108),':','')
訂閱:
文章 (Atom)