access|select|錯誤|access|select
太久沒更新這個Blog了,不是不想寫,只是平時接觸到的ASP編程幾乎都是背書狀態,沒什麼創意的Coder工作,沒有新意,也沒什麼感悟,無從寫起啊..搞得靳田兄把我的連結去掉都不好意思回覆了。對此先對靳田兄說聲抱歉。
正題,這幾天接了個小系統寫,寫的過程還是那無創意的背書狀..不過,在使用時卻遇到一個奇怪的問題。客戶用的是英文作業系統英文版的IIS。程式運行到Conn.execute(..)時居然提示:
Selected collating sequence not supported by the operating system.
(交貨時拍著胸脯說我的程式絕對沒問題,開始臉紅了。呵呵。)
用baidu搜了一下,也有不少人遇到這種情況。其中在csdn的一個提問(http://search.csdn.net/Expert/topic/799/799654.xml?temp=.6843073)裡查到了錯誤提示的原因。大至上是說,Access在一種語言下建立,而在另一種語言下使用才會提示這種錯誤,具體沒說是為什麼(可能是說了,不過我的英文太爛了沒看懂而以。)。知道問題的大至所在,就有瞭解決的方向了。
為了證實這種說法的正確,我寫了一個簡單的DataConn檔案。串連我建的Access資料庫,錯誤提示一就不變"Selected collating sequence not supported by the operating system."。當串連一個和伺服器環境一樣的系統裡建立的Access,卻沒提示,一切正常,這就說明了問題的所在。至於為什麼..我還是沒明白,不過,這次的目的是讓系統運行起來。
我的解決方案:將能正常使用的Access上傳到伺服器上,然後清掉其無關的表(因為這個資料庫是在用另一個程式裡的,所以殘留有一些表)。然後直接用SQL將我資料庫裡的表建立到現在的Access裡。現在系統正常運行,任務完成。
不過我知道這種方法只能見招拆招,對於發布全球共用程式的作者來說,這種問題將會是一大障礙,應該會有一種萬全的解決方式。只是.我還不知道..有待解決啊...