1

场景:

  • SQL Server 2005 x64(默认实例)
  • Fox Pro .dbf 上的数据。仅提供 32 位驱动程序(无 x64 驱动程序)

我需要从默认的 SQL Server 实例访问 FoxPro 数据。我曾经使用在 SQL Server 上创建的链接服务器来执行此操作,但这在 x64 实例上不再可行(驱动程序兼容性)。

因此,我安装了一个新的 32 位 SQL Server 实例(简称 SS32),并在这个新实例上创建了链接服务器,以使用现有驱动程序访问 .dbf 数据。

在此服务器中,我可以像这样查询 .dfb 数据:

  • select * from LinkedServerName...DbfTableName它工作正常

但我仍然需要从默认实例访问它。

所以,这就是我所拥有的

  • SQL Server x64 默认实例
  • 带有链接服务器的 SQL Server 32 (SS32) 实例以访问 foxpro 数据

有没有办法从默认实例中查询 SS32 中的链接服务器?你知道任何可能的替代方案吗?

4

1 回答 1

1

From the x64 instance you can use OPENQUERY to run a query on a linked server:

SELECT *
  FROM OPENQUERY(x86LinkedServer, 'select *
                                     from LinkedServerName...DbfTableName')

There is also this blog post regarding a workaround for what is (basically) your problem: querying a 32-bit datasource from a 64-bit instance.

于 2012-05-10T11:32:47.830 回答