2011-09-27 81 views
0

在工作中,我們有一個SqlServer數據庫,無法從我們的內部網絡外部連接到該數據庫。如果我們想要遠程工作,我們可以在我們的網絡上使用其他幾臺服務器,然後通過X轉發工作,以便開發應用程序可以訪問數據庫。ODBC通過SSH隧道連接到第三臺機器

這是一堆顯而易見的原因,例如在IDE中的延遲,我想知道如何將數據庫連接傳回我的機器。看起來這應該是可能的,但我不知道該怎麼做,因爲必須有一箇中間步驟。 This問題與我想要做的類似,但只適用於直接轉到數據庫服務器,如果我理解正確。

我在問具體的ODBC,因爲這是應用程序已經使用的驅動程序。如果有更通用的解決方案,我當然可以接受。

我想要做的就是

Local machine (Linux) -> Server (Linux) -> Database connection to DB (Sql Server) 

回答

1

嘛,就像你說的,如果你想直接使用SQL Server中的加密連接你可以使用Linux驅動程序給你,我想大部分都是這樣。你可以使用已經建議的橋樑。但它可能使用socat。你在本地機器上使用什麼驅動程序?我會快速玩,看看它是如何工作的。

+0

是的,似乎與socat一起工作。使用(在中間機器上)「socat TCP4-LISTEN:1057,fork TCP4:192.168.0.26:1057」允許你從外部連接到中間機器,然後連接到監聽192.168.0.26的SQL Server實例:1057(SQL Server計算機)。您當然可以根據需要添加您自己的地址。 –

+0

非常好,這正是我正在尋找的東西,謝謝! – asm

0

OpenLink Software - Multi-tier ODBC Driver for SQL Server可以幫助你在這裏...

它有一個客戶端服務器架構,它可以很容易地在三層配置(客戶端/代理/服務器)結構如下: -

  • Linux客戶端 -

    • ODBC應用
    • OpenLink的通用ODBC驅動程序(多層客戶端組件)

  • Linux的代理 -

    • OpenLink的請求代理(多層服務器組件)
    • OpenLink Database Agent for SQL Server(多層服務器組件)

  • 的Windows Server -

    • 的SQL Server數據庫管理系統
+0

我會仔細研究一下,它看起來有點沉重。我正在尋找一個非常輕量級的解決方案,因爲這純粹是爲了方便開發。 – asm