我用pb9寫了一個程式,是通過odbc連接sql server2000資料庫的,編譯成.exe后可以正常運行,然后我把必須的一些dll檔案拷貝到該檔案夾下,程式中其他模塊運行正常,但是有一個資料視窗的資料檢索的結果出現亂碼(顯示好多條子段內容為etrive,etsqlselect等的紀錄),但并不報錯。
分析程序如下:
1、該資料的檢索與其他地方一樣都用到了settrans,setsqlselect,retrieve,通過設定不同的sql陳述句來實作不同條件的檢索,唯一不同是該處用到了union連接兩段sql陳述句。但是,在開發環境下運行時并沒有問題,該sql陳述句應該沒問題,把該sql陳述句拿到sql server 下運行結果也正確。
2、我試了一下檔案夾下的所有dll檔案,只要把檔案夾下的pbodb90.dll刪掉,程式就能運行正常(當然,機器中有pb環境,程式在pb的安裝目錄下還是能找到pbodb90.dll的)。
經過以上分析,我百思不解,望高手賜教。
uj5u.com熱心網友回復:
pbodb90.dll 是odbc介面用做資料交換的。應該是必須的。樓主嘗試著,把dll和exe相關的檔案copy到另外一個無pb的環境下運行,看看效果。注意帶上pbodb90.dll 這個檔案。
我曾經遇到過一個問題是,在有開發環境的機器中,編譯成可執行檔案后,目錄中有pbvm90.dll這個檔案,一打開就非法操作,洗掉后就正常。
估計是可執行檔案的搜索路徑問題。
uj5u.com熱心網友回復:
樓上,我試過把DLL和EXE檔案拷貝到沒有PB環境下,問題依舊,仍舊顯示亂碼。當然,如果刪掉PBODB90.DLL的話,運行時就報錯。uj5u.com熱心網友回復:
pb9為什么要用ODBC連接SQL Server2000,換成直連或者是OLE DB不是更好嗎uj5u.com熱心網友回復:
樓上,因為有的客戶機上沒有安裝SQL SERVER的資料庫連接驅動。請問有PB9如何用OLE DB連接SQL SERVER2000?
uj5u.com熱心網友回復:
都是很好的建議! 值得學習轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/113638.html
標籤:數據庫相關
上一篇:高手幫解決
下一篇:事物嵌套
