2011-09-27 238 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