2010-12-20 104 views
2

我一直負責從Btrieve(Pervasive)數據庫導出一堆表格,但其中一個表格正在打架。我使用的是Pervasice控制中心,但是當我運行一個SELECT * FROM <troublesome table>我得到這個錯誤:Btrieve(文件)所有者問題

ODBC Error: SQLSTATE = S1000, Native error code = 0 
Unable to open table: <troublesome table>. 
The owner namme is invalid(Btrieve Error 51) 

我Google'd這一點,並發現有可能是一個「所有者」的DDF文件,但,如果我正確理解這一點,所有表都在該文件中。但是隻有一個表導致這個錯誤,所以我不知道發生了什麼。

有人請提供一些幫助。

回答

2

在Btrieve文件以及DDF上可以有一個所有者名稱。在這種情況下,看起來Btrieve文件具有甚至需要讀取文件的所有者名稱(所有者名稱可以允許只讀訪問,而不需要所有者名稱或無權訪問)。
根據您使用的PSQL版本,您可以在執行SELECT語句之前發出SET OWNER =命令。有關SET OWNER的完整文檔,請查看http://docs.pervasive.com/products/database/psqlv11/wwhelp/wwhimpl/js/html/wwhelp.htm#href=sqlref/syntaxref.3.76.html。 至於確定所有者的名字,你必須問問程序的開發者。沒有默認所有者名稱,也沒有主人所有者名稱。

+0

Thanks.I自從我問這個問題以來,我已經想了很多。問題是我可憐的客戶正在與開發人員進行法律程序,我懷疑他鎖定數據文件是某種童稚的報復行爲。有沒有實用的東西來提取所有者的名字?我看到一家公司使用「經典軟件」聲稱他們可以做到這一點,所以我認爲這一定是可能的。 – 2010-12-20 17:22:54

+0

此外,使用數據庫的應用程序似乎開發了一種名爲「魔術運行時」的東西,似乎數據完全可以被該程序訪問。這意味着「所有者名稱」必須在我猜測的某個時刻發送。有人對這個有經驗麼?有什麼建議麼?似乎我越來越變成黑客在這裏...:O/ – 2010-12-20 17:24:49

+0

沒有實用程序來提取所有者的名稱。試圖獲得黑客的所有者名稱正在進入一個灰色地帶。你是對的,魔術應用程序知道所有者的名稱並通過它。 MKDE追蹤機制阻止所有者名稱的追蹤。它顯示爲「未顯示」的痕跡。真的,我可以建議的最好的事情是讓你的客戶解決法律問題並獲得所有者的姓名。 我見過其他用戶運行阻塞訪問的相同方法。你可以做的事情不多。 – mirtheil 2010-12-20 20:12:43