2013-06-24 453 views
0

ODBC連接我們對宇宙DBMS 9.6上運行的遺留系統。我們正試圖從中導出數據,並且我們啓用了rpc守護進程,以便我們可以通過odbc進行連接。與宇宙9.6

現在我們能夠連接到服務器,但我們不能夠運行任何查詢。我們正在以下錯誤

查詢 - SELECT * FROM債務人

例外 - 宇宙/ SQL:語法錯誤。意想不到的符號。令牌是 「;」。掃描的命令是SELECT

Universe中有兩種類型的數據庫,即基於表和文件。但是我們能夠查詢基於表格的數據庫,但是我們無法查詢基於文件,並且有一些配置可以查詢基於文件的文件。我們被困在這個地方。

在C#中使用u2Client庫來訪問數據庫。任何幫助表示讚賞

代碼用於連接宇宙

U2ConnectionStringBuilder conn_str = new U2ConnectionStringBuilder(); 
conn_str.UserID = "id"; 
conn_str.Password = "pwd"; 
conn_str.Server = "serverIP"; 
conn_str.Database = "DBNAME"; 
conn_str.ServerType = "UNIVERSE"; 
conn_str.Pooling =false; 
conn_str.AccessMode = "Uci"; 
conn_str.RpcServiceType = "uvserver"; 
string s = conn_str.ToString(); 
U2Connection con = new U2Connection(); 
con.ConnectionString = s; 
con.Open(); 
Console.WriteLine("Connected........................."); 
U2Command xmd = new U2Command("SELECT * FROM TABLE_NAME", con); 
var op = xmd.ExecuteReader(); 

異常捕獲在執行最後一條語句

+0

你是從Microsoft Excel使用ODBC查詢宇宙時收到錯誤? – webthaumaturge

+0

我正在用c#連接 –

+0

哇,9.6是11到12歲之間!爲什麼沒有升級到最新最好的原因?如果您正在進行支持/維護,U2支持團隊*可能*能夠幫助您。 –

回答

1

我們試圖從火箭軟件宇宙側驅動器的工作,它是將數據發送到客戶端,但客戶端無法理解的協議或導致一些異常錯誤。我們確認服務器通過檢查TCP數據包來響應查詢。但是我們運氣不好。

因此,我們決定建立它在宇宙開發基本的選擇,這將通過SSH連接到外部系統並創建了客戶端和服務器的理解是一個新的協議,我們自己的軟件。我們成功了,現在我們可以將數據導出並導入到Universe。

0

正式宇宙9.6不支持與U2工具包.NET使用。每documentation(第6頁):

支持的UniData和Universe

  • 的UniData 7.1或更高版本
  • 宇宙的版本10.3或更高版本

,您仍然可以使用直ODBC或UniObjects從數據庫中提取數據。如果您打算使用ODBC,除了啓用RPC之外,請確保您已經爲每個Rocket's ODBC documentation配置了Universe帳戶的ODBC。在編寫C#代碼之前,我經常使用Excel's external data access tools驗證我的ODBC設置。

+0

以及Universe中有兩種類型的數據庫,基於文件和基於表格。我實際上可以查詢基於表的數據,但是需要執行一些配置來啓用基於文件的數據庫查詢。我們被困在這個地方。 –