- 環境:windowsXP
- 數據庫版本:sybase12.5(開發版)
- 客戶端:clinet(pcclinet12.5)、DBArtisan 8.5.2
- 模型設計工具:power builder12.5
????????sybase自帶的客戶端有兩種:一種是命令行模式的叫做sqladv.ext,另一種是界面模式的叫做Sybase Central Java Edition對應這兩個版本的client凡是使用過toad的人都覺得不順手,太不順手了,即使是用慣了plsql的人也有這種感覺。
??????? DBArtisan (8.5.2)是類toad的數據庫訪問client工具,但是在操作性上感覺還是不如toad那樣強大、成熟,也許是用慣toad 的原因吧,在做sybase數據連接以前和oracle一樣需要先配置一個客戶端別名,sybase配置這個別名的地方是dsedit.ext這個命令,有一點需要注意的是:在add了一個server以后你還需要給這個server添加一個ip和端口,格式如:ip,port(請注意ip和port之間是一個逗號而不是冒號)。
??????? 相信現在許多人都在用pd做數據模型設計,如果要用pd連接sybase做反向工程的話,那就要通過odbc來連接了,但是不幸的是你一般安裝的sybase數據庫和他的client端都不會像oracle那樣給你也裝一個odbc進去,需要再下載一個sybase的odbc驅動。更不幸的是要從sybase上下一個odbc驅動可能和你安裝的sybase數據庫和客戶端的版本并不一致,此時舊版的dll會干掉以前安裝的新版sybase數據庫的dll文件,導致dsedit不可用,連sqladv也不可用,甚至DBArtisan這樣強大的工具你也不能再用了,說白了,你現在只能通過Sybase Central Java Edition添加或刪除一個數據庫、表,或者對數據庫的參數做一些調整,比如:你的設備空間不足了,連接數、查看某個表的數據,僅此而已。想用sql嗎?對不起,不能用了。網上查了許多帖子,居然是個無解的問題。那我來告訴你一個答案:
??????? 首先,我們先分析一下造成這個問題可能的原因,之前一切都正常可用,自從安裝了某個工具(比如舊版的sybase odbc11.1之類的東西)以后導致點擊sqladv.exe報錯“找不到libtcl.dll”,我們可以假設是sybase odbc在安裝以后覆蓋掉了sybase原有的dll文件,那這些文件在哪里呢,在[sybase root]\OCS-12_5\dll這個目錄下,這個目錄下還有2個文件夾里的dll和這里的dll文件名一樣,那兩個文件夾一個叫debug一個叫nodebug,不用腦子都想得出來是干什么的。
????????原因分析清楚了,那就是因為舊版的dll文件把我們新版本的dll給覆蓋了,直接拷貝[sybase root]\OCS-12_5\dll目錄下的所有dll文件將他們復制到C:\WINDOWS\system32下,問題解決
??????? 這樣前面安裝的odbc居然也可以使用!太完美了。