2016-09-06 94 views
2

我想在我的開發環境中使用桌面版本的IB XE7,但無法使連接正常工作。在Rad Studio開發環境中將Delphi 10.1連接到Interbase XE7 Desktop

原始應用程序使用了IB的完整服務器版本,我現在想要在更低成本的單一PC類型應用程序上運行該應用程序,並選擇IB桌面版本。

Rad Studio 10.1 Berlin在W7 64bit虛擬機上運行。 FireDac是數據庫連接組件。 IB XE7 Desktop是開發PC上的數據庫服務器。

應用程序的目標是具有W7 32位的VM,以及該VM上的另一個IB XE7 Desktop。

我可以構建32位應用程序,並將FireDac連接組件協議字段更改爲「本地」而不是TCP/IP後,它將連接到目標PC上的IB XE7桌面(在VM中運行W7 32位)我在Stack Overflow中讀到的東西。

我無法工作的是開發環境中的數據庫連接。

我首先安裝了IB的64位版本,然後刪除它,並嘗試32位版本,結果相同。

在閱讀了一些在線連接問題後,我試着在服務器名稱字段中放入'gds_db'和'localhost/gds_db',但它仍然無法工作,儘管它確實改變了錯誤。


錯誤 - 什麼也沒有在服務器名稱


[FireDAC] [物理學] [IB]不可用的數據庫。把 'gds_db' 服務器名稱後



錯誤


[FireDAC] [物理學] [IB]無法完成網絡請求主辦 「gds_db」。

無法找到主機。

指定的名稱未在主機找到的文件或域名服務..


首次嘗試安裝64位的IB,然後取出找到的所有GSD文件,然後在註冊表項,並安裝32位版。問題依然存在。

注意:Database Workbench 5將OK連接到同一VM上的數據庫。

任何想法歡迎。

謝謝。

James F.

+0

兩件事情:a)您需要檢查服務器的實際實例名稱。 iirc,IB的「sawn off」版本使用gds_db以外的東西。 b)查看\ windows \ system32 \ drivers \ etc中的'services'文件。它應該包含一個條目,例如命名服務器實例的「gds_db 3050/tcp#InterBase Server」。 – MartynA

+0

順便說一句,你可能試着看看你是否可以使用IBX組件獲得連接。通過將IBConnection的數據庫名稱設置爲'LocalHost:D:\ Delphi \ Interbase \ Databases \ MA.GDB' – MartynA

+0

,可以連接到本地IB XE7服務器.GDB是從winXP開始的錯誤文件擴展名 –

回答

1

我記得那是相當的性能得到德爾福XE8 +西雅圖與IB XE7, 特別是我一直試圖從 連接IDE內部時,得到了「不可用的數據庫」工作的錯誤。注意:以下是我發現必須使Delphi與本地IB XE7軟件包一起使用的實例。開發人員和桌面版本的要求很可能有所不同,希望可以通過他們的文檔進行解釋。

一些事情要檢查是:

  1. 檢查,該服務器運行的是Windows服務的應用程序。

    我的服務器顯示爲

    Interbase的XE7服務器gds_db

正如你所看到的,服務的應用程序應該告訴你的服務器的名稱。

  • 如果您想通過您在您的\ Windows有一個入口 TPC/IP檢查連接到它\ SYSTEM32 \ drivers \ etc下\這樣

    服務文件

    gds_db 3050/TCP#IB的服務器

    散列符號developer_ibxe7 3054/TCP#IB的服務器

  • 含有developer_ibxe7應用#開始,但SO將不會顯示爲線 一些原因。無論如何,該行被註釋掉了,因爲它指的是我在某個時候安裝的開發者版本。

  • 檢查你的操作系統環境中包含這樣一個

    INTERBASE = d的條目:\ ibxe7

  • 如果沒有,添加它並重新啓動機器。

    在我的情況下,d:\ ibxe7是我安裝了IB XE7的頂級文件夾。

    設置/檢查這些東西在IDE中啓動一個新的Delphi項目,添加一個IBConnection到它,並將其DatabaseName設置爲本地IB數據庫。對我來說,指定

    本地主機:d:\德爾福\ Interbase的\數據庫\ MA.GDB

    工作正常。然後,看看您是否可以將Connected屬性設置爲True。如果你不能, 發表評論,我會看到我還記得什麼。

    +0

    embarcadero.com/ru/products/interbase/product-editions明確聲明Desktop Edition沒有獨立的「TCP偵聽服務器」 –

    +0

    它現在正在工作;讚美是所有人。 –

    +0

    @JamesFergus:很高興你的工作能夠實現,但是你的設置有哪些改變會產生變化? – MartynA