2010年12月25日 星期六

Photoshop自動產生4*6的選取範圍(置中)

因為已半年多沒洗照片了,這次一次要洗幾百張的照片,光裁切成4*6就很費工夫,雖然有軟體可以幫你自動置中裁切,但我喜歡自己裁呀,畢竟不是每張照片置中裁切的結果都是你想要的,於是寫了個簡單script,會自動幫你產生4*6的選取範圍喔,簡化了你用滑鼠產生選取範圍的動作,你再自己錄製action配合快捷鍵使用囉,script如下,請存成*.jsx

#target photoshop;
//沖洗比例4*6
var developW = 4
var developH = 6

//判斷是否有開啟圖檔

2010年12月23日 星期四

Tomcat實現HTTP自動導到"403.4 - 禁止"錯誤頁面

為什要這樣作呢?因為強制將HTTP自動轉到HTTPS時,有各系統會有莫名的圖示消失,很奇怪,不在server.xml設定強制轉時,不論是用HTTP或HTTPS訪問都沒問題,甚至HTTP停用只保留HTTPS來訪問也沒問題,真的很奇怪
為了強制使用者用HTTPS來訪問,而用HTTP時會有錯誤頁面告知,模擬IIS的一個功能(必須使用安全通道SSL),IIS做很簡單,Tomcat實現同樣功能就有點複雜了,我只試出如下做法,如各位有更佳作法請告知

1.首先去某個安裝有IIS的Server將403-4.htm拷貝出來,位置大概是在C:\WINDOWS\Help\iisHelp\common\下

2010年12月12日 星期日

Photoshop利用指令碼自動為圖片加框及EXIF說明

網路上其實可找到一些現成的指令碼,但是都不合用,只好自己稍微研究了一下,自己測試過在Canon或Fujifilm的數位相機拍的照片都可用,單眼的我沒試過,因為我只用過數位相機而已(其中取得EXIF的資訊我是利用Regular Expression來取,感覺效率較好)

將以下javascript存成.jsx放到C:\Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts

2010年12月11日 星期六

Tomcat強制將HTTP 80轉至HTTPS 443

怕忘記先紀錄一下
假設HTTP與HTTPS都設定好了,確定都可正常運作

0.先備份web.xml與servel.xml

1.編輯Tomcat安裝目錄conf下的web.xml
  在</welcome-file-list></web-app>之間,加入如下的code,然後存檔

2010年11月2日 星期二

Excel如何快速填滿空格,使其值為前一格的值

這是之前上EXCEL進階課程學到的一招,我覺得很酷,紀錄一下,分享給大家
如下圖,如何快速填滿空格,使其值為前一格的值,比如說A3等A2,A4等於A3,依此類推,幾秒鐘內完成喔

2010年10月31日 星期日

550 5.7.1 Unable to relay(第二種情況)

最近收到一封NDR(投遞不成功的報告),信件內容裡[系統管理員的診斷資訊]如下

#< #5.7.1 smtp;550 5.7.1 Unable to relay> #SMTP#
這錯誤好熟悉啊,之前我有遇過,我的這篇550 5.7.1 unable to relay有說明,不過這次寄信的程式是利用本機SMTP服務來寄信的,而且已正常運行很久了,突然出現這錯誤我感到很訝異,難道設定不小心被人動到了嗎?仔細研究後發現,這錯誤跟之前遇到的狀況不一樣,特此紀錄

2010年9月19日 星期日

IE重整(F5)的問題(用JavaScript重整)?

我想這應該是個蠢問題,但也讓我試了老半天呢!
因為要上台報告,要示範一個網頁例子給同事看,想想在沒網路的情況下,只能示範HTML囉,HTML的好處就是只要有IE就可以打開的嘛,於是寫了一個簡單的HTML,上面就一個表單,有幾個欄位與按鈕,預先在欄位裡輸入好字串,到時示範就不用打,想說到時若需輸入其他文字,就算輸入錯誤,按重整(F5)後那些欄位文字應該就會還原吧,結果實際上並非我想的那樣,按F5或Ctrl+F5結果都一樣,並沒有重新載入喔,比如說,簡化的HTML內容如下,各位可以存成.html的試試
<HTML><BODY>
<input type=text name=St size=25 value="XXX">
</BODY></HTML>
用IE打開的網頁應該長的像下面這樣吧

2010年8月27日 星期五

signer information does not match signer information of other classes in the same package

原環境為Websphere 6.0.0.1 + SQL 2000,後來資料庫升級到SQL 2005,得調整WAS的相關設定,調整的當中陸續遭遇一些錯誤,相關調整步驟就不在這邊說明囉
一開始我更換JDBC Driver 1.2後,log出現如下錯誤
class "com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement"'s signer information does not match signer information of other classes in the same package

2010年8月23日 星期一

ALTER SCHEMA出現物件已存在的錯誤

ALTER SCHEMA new_schema_name TRANSFER old_schema_name.ObjectName

訊息 15530,層級 16,狀態 1,行 1

名稱為 "ObjectName" 的 物件 已經存在。

2010年8月20日 星期五

整數除以整數結果竟然只保留整數,那小數呢?

最近剛好遇到前端程式與後端資料庫計算後差一塊的問題,應是資料庫端四捨五入的地方怪怪,仔細一看T-SQL語法,整數除整數,比如說51/100,不是0.51嗎?那我用ROUND(51/100,0),應該會進位後得到1吧,結果居然是0,讓我傻眼了一下,那我直接在SSMS中,實際先下了select 51/100看看,結果真的是0,有圖有真相

2010年7月7日 星期三

如何散佈DTS元件(DTSRUN)

剛好同事需要在沒有安裝SQL Server上的伺服器上執行遠端DTS,要用DTSRUN,我把DTSRUN拷貝過去後發現無法使用,看來缺少一些檔案,上網查了一下,參考到Redistributing DTS with your program這篇,發覺檔案還不少,還得註冊dll,挺麻煩的,於是寫了簡單的SCRIPT與說明,有需要者自行更改部份內容,基本上如果用預設安裝SQL Server的,相關路徑應該就不用改

Step 1 將以下script存成batch檔後,在安裝有SQL 2000的來源端執行會產生C:\DTSuti\目錄

2010年7月3日 星期六

在SSMS刪除舊版DTS版本的方法

過去在SQL 2000用EM可以在DTS上按右鍵選版本,可以很容易的把舊版本的封裝刪除,保留太多版本可是會佔空間的,可是到了SQL 2005,SSMS好像沒有選項可以這麼作,刪除是直接把整各封裝給刪掉呢,而且若版本超過一個,開啟時還要選版本有點麻煩,過去在EM可是直接開最新的說,所以會想說如何把舊的版本刪掉呢?想到最簡單的方法就去MSDB內把舊版本刪掉就好啦,寫了一個簡單的Script,會印出該封裝名稱與對應刪除的指令,執行那個指令後會保留最新的版本喔

2010年6月2日 星期三

在 SQL2005中編輯舊版DTS時發生錯誤

  今天想測試看看舊版DTS在SQL2005上運作的狀況,於是就用Enterprise Manager打開DTS,然後將DTS另存到SQL2005上
  就在用SSMS打開舊版DTS封裝時,發生如下錯誤,見下圖

2010年5月30日 星期日

TortoiseSVN的圖示覆蓋消失了

有時電腦重開機後,TortoiseSVN的圖示覆蓋消失了,如下圖
左邊是正常的,右邊是不正常的樣子

2010年5月23日 星期日

java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

因為資料庫要從SQL2000升級到SQL2005,測試DB部分已弄好,想說直接去WAS測試機改連線位置,看看原有的driver可不可以直接支援,不能就算啦,再去找解決方案,結果一改去測連線,出現奇怪的錯誤,重開機後,log有奇怪的錯誤,如下
java.lang.IllegalArgumentException: resolve against non-hierarchical or relative base

2010年4月25日 星期日

530 5.7.1 Client was not authenticated

  最近收到來自一台測試機寄來的NDR副本,錯誤訊息為530 5.7.1 Client was not authenticated,因為那台測試機上面裝有SMTP服務,所以很直覺的認為是SMTP服務問題,然後測試了一下,發現同樣的程式,一下可以寄信,一下不能寄信,很詭異吧,明明沒收到信,有時收的到NDR,有時候又收不到,超怪的,怪到我都懷疑自己對SMTP是不是完全不懂了,經過幾天的測試研究,終於找到問題了,特此紀錄
  首先我看了一下SMTP的設定,沒什特別的啊,我沒動,比對一下另一台專門發信機器的設定,沒什不一樣的,不過那台在DMZ,網路環境不一樣可能不准,這時想到有時出問題,移除重裝一下就會好,於是我又重裝SMTP,結果還是一樣,時好時壞,於是我又再另外一台電腦上裝SMTP與POP3,透過測試機的SMTP發到新裝的這台,再去新裝的這台收信,皆正常,不會有一下收的到,一下收不到的問題
  看來不像是SMTP服務的問題,只好去看SMTP的log啦,終於看到奇怪的地方啦,以下是寄不出去信的log,我只擷取需要的部分

2010年3月28日 星期日

SSIS的ErrorCode

SSIS的資料流程工作,若轉換流程中發生錯誤,將會導致轉換失敗,若不想讓轉換失敗,是可以設定錯誤輸出將錯誤的資料列導向另一各目的地,像我是直接導到文字檔,該文字檔除了資料列本身的欄位外,還會有ErrorCode 和 ErrorColumn這兩各欄位資訊,不過這兩個欄位只包含數字碼,一開始根本看不懂是什,之後我發現ErrorColumn是指發生錯誤資料行的識別碼,原來是可以在資料來源的進階編輯器\輸入與輸出屬性\輸出資料行\通用屬性裡的ID即是該錯誤資料行的識別碼,如下圖

2010年2月21日 星期日

無法開啟 bcp 的主資料檔

之前為了讓user能夠用簡單的程式將文字檔載入SQL Server,想到用bcp配合batch檔,然後用Bat_To_Exe_Converter封裝成exe給User執行,一年過後,user反應程式忽然不能正常執行了,出現如下錯誤
SQLState = S1000, NativeError = 0

Error = [Microsoft][ODBC SQL Server Driver]無法開啟 BCP 的主資料檔

2010年2月7日 星期日

封裝的Protection Level

以前在Business Intelligence Development Studio 設計SSIS封裝時,不太了解Protection Level的差異,都用預設的,結果明明在BIDS執行成功的,佈署到SQL Server上後執行就失敗,想說SSIS怎麼那麼難用啊,封裝設計的還真複雜,之前的DTS簡單多了,但又不能不用,只好研究了一下各Protection Level的差別囉

我就一一設定不同Protection Level,除了ServerStorage以外,因為這是部署到msdb上才會用的,存檔後看看封裝檔案dtsx的大小,與dtsx內容跟連線密碼有關的部分,還有用Dtexecui執行的狀況,整理如下圖

2010年1月23日 星期六

EXCEL讀取特定編碼的CSV會變亂碼

最近剛好用EXCEL打開一個CSV檔時,發現中文字竟變成亂碼,可是用記事本打開是正常的,覺得很怪,於是上網搜尋了一下相關資訊,好像是檔案編碼不同造成的,EXCEL似乎只支援ANSI(BIG5)格式的CSV檔,Unicode的會有問題,於是自己測試了一下各個編碼的差異

整理如下圖

2010年1月16日 星期六

OLE DB目的地的插入認可大小上限2147483647

若在SQL 2005的SSIS封裝中使用[OLE DB 目的地],在偵錯時有時封裝會一直執行不完,明明資料已經載完了,可是又沒當,可以手動停止偵錯,很怪

找找[OLE DB 目的地]的設定,發現有個[插入認可大小上限](Maximum insert commit size),預設值為0這個值是用在當單一資料列發生錯誤時,有多少筆會被Redirect(or Rollback)的意思,我嘗試設為別的值好像就比較不會發生封裝停止回應的事

2010年1月10日 星期日

Error code: 0x80040E00

不知為什,在SSIS中,當我[OLE DB 來源]使用IBMDA400或IBMDASQL的Provider時,在設計階段不會出錯,但執行時卻會出現如下錯誤訊息(我之前用不會耶...@@)
[OLE DB 來源 [1]] 錯誤: SSIS 錯誤碼 DTS_E_OLEDBERROR。發生 OLE DB 錯誤。錯誤碼: 0x80040E00。
錯誤: SSIS 錯誤碼 DTS_E_PRIMEOUTPUTFAILED。在 元件 "OLE DB 來源" (1) 上的 PrimeOutput 方法傳回錯誤碼 0xC0202009。當管線引擎呼叫 PrimeOutput() 時,元件傳回失敗碼。在此之前可能已公佈過錯誤訊息,說明有關此失敗的詳細資訊。

2010年1月9日 星期六

Telnet、SMTP Log與Mail Header

最近遇到很多郵件傳輸的問題,但是因自己本身無法接觸到Exchange,所以想說去了解一下SMTP Services好了,反正寄信的基本功能應該不會差太遠吧。
有時候看一些Services,有LOG看才知道到底有沒有在運作,也比較清楚它作了什麼,但是一開始看SMTP的LOG,我可是愈看愈模糊啊,原來是我沒把全部的LOG資訊都啟用,所以建議啟用全部的LOG紀錄吧,尤其是擴充內容喔。

首先,參考微軟的使用 SMTP 來傳送外送訊息,裡面有提到SMTP 如何運作?我就不多做說明了,自己去看吧。

2010年1月2日 星期六

在WORD中倒退鍵(BACKSPACE)失效

其實這也發生好一陣子了,就是我在WORD XP中,倒退鍵(BACKSPACE)的功能一直有問題,就是明明選取了字串,按下倒退鍵要將它刪除,就是刪不掉,害我只能按Delete鍵刪,想說還可以用就算了,過了新的一年之後,想說不能繼續這樣下去,就上網查了一下,原來有解決辦法啊,KB901124,在WORD的工具列裡有個選項,裡面的編輯頁籤,把以鍵入字串取代選取部份打勾即可,原來這麼簡單,這預設好像是打勾的,我之前是手賤不小心把它按掉嗎!