delphi ado oracle碰到難題

2021-09-05 19:49:03 字數 1756 閱讀 6649

delphi+ado+oracle碰到難題!!! delphi / windows sdk/api

伺服器:繁體winxp+oracle8i,字符集:zht16big5.  

客戶機:簡體winxp,字符集原來是:zhs16gbk,現在改為和伺服器一樣的:zht16big5.  

功能是要在oracle的varchar欄位中儲存繁體文字,在blob欄位中儲存.  

現在碰到以下問題:  

1.如果採用'microsoft   ole   db   provider   for   oracle',在簡體客戶機上向伺服器新增簡體文字,在繁體伺服器上文字轉換為繁體,並且顯示正常.但是沒辦法向blob欄位新增大於4k的jpg,使用了各種方法也沒有辦法解決,包括流.,請問有沒有辦法新增大於4k的?  

2.如果採用"oracle   provider   for   ole   db",向oracle伺服器的blob欄位新增正常,簡體轉換為繁體大部分文字顯示正常,部分顯示'?',例如簡體'粵東莞'新增到繁體伺服器上就顯示繁體   '?東莞',在簡體客戶機上select出來又是正常的.請問有沒有辦法使繁體oracle所有繁體文字顯示正常?  

試了好多天了也沒有找到辦法,請各位大俠幫忙解決其中之一.謝謝!

oracle用odac這個元件試試。應該可以。  

第二個問題:  

如果你的oracle的字符集是繁體,插入簡體漢字,顯示會不正常。如果你把oracle的字符集改為簡體中文,就可以正常顯示簡體。  

這個無所謂。重要的是客戶端可以正常顯示就可以。  

可以在oracle伺服器上面開啟登錄檔  

run->regedit.exe->hkey_local_machine->software->oracle->homeo->nls_lang=simplified   chinese_china.zhs16gbk  

(健值)             簡體中文         正體中文  

nls_lang   =   simplified   chinese_china.zhs16gbk  

不同的oracle   可能位置不一樣。  

沒有遇到這多字符集處理的情況  

對於檔案,我用long   row欄位,好像沒有遇到你說的那種情況  

我兩個驅動都用過,不過,我們的伺服器用的是aix  

在win平台下,你還是老老實實用mssql才是王道!

我試了一下,sizzg的第二個方法可以解決問題,只是各種資訊是亂碼,不過只要不影響客戶端使用就ok了,我要找乙個繁體的客戶端測試一下.!  

對於lwk_hlj的方法,我想也可以解決問題,但是oracle以後好象不支援long   row欄位,如果實在沒有辦法,我也只有採用這種方法.  

在此謝謝sizzg和lwk_hlj了.

這下真是難搞了

對於sizzg的方法,我在繁體客戶機上試了,也要改登錄檔,這樣可能不行,我不可能到每一台繁體客戶機上改登錄檔,改天我再試一下lwk_hlj的方法.

不成熟的意見:好象有乙個ado連線裡面有什麼package   size=4096這樣的東西吧?會不會和你的4k大小有所關係呢?這個我沒有驗證過,你自己看一下下吧。

我回過很多貼了,ado對oracle的支援是有問題的,特別是對blob欄位  

1.公升級mdac  

2.一定要用"oracle   provider   for   ole   db"  

在delphi下用oracle,最好用odac,bde/odbc也沒問題,你也可用dbexpress  

delphi ado oracle碰到難題

delphi ado oracle碰到難題 delphi windows sdk api 伺服器 繁體winxp oracle8i,字符集 zht16big5.客戶機 簡體winxp,字符集原來是 zhs16gbk,現在改為和伺服器一樣的 zht16big5.功能是要在oracle的varchar欄...

生活難難難

緊張而又充實的一周又過去了,工作對於我來說是一件可以學到很多並挑戰很多的事情,雖然充滿焦慮和等待但也充滿著刺激興奮和足夠的滿足感!在以上的過程中,經常會出現很多問題,面對這些問題的時候,我主要有以下兩點感想,有了這個想法,就有了解決問題的動力,接下來,我跟大家分享下本人的這兩點感悟,希望能跟夥伴們共...

oracle 愛難,恨難

近期做的專案,客戶要求部署環境是基於oracle的 人家有錢,買得起oracle的產品 伺服器用的是oc4j,資料庫用的是oracel,工作流引擎也是用oracle的.由於之前很少接觸到oracle的產品,對其不太熟,做起開發來實在是磕磕絆絆.往往在tomcat上調通的程式,在oc4j上死活出問題....