sql-server-2008 - Firebird FDB 链接服务器 SSMS

标签 sql-server-2008 firebird linked-server

我们有一个运行 Firebird 数据库的 POS 系统,其余业务则在基于 SQL Server 的 SYSPRO 上进行。

我想在数据库之间运行查询和 View ,因为两个数据库都有可以匹配的唯一键。

我是否通过链接服务器执行此操作?我尝试了链接服务器的几种变体,但不断收到各种错误消息。这就是我到目前为止所拥有的:

EXEC master.dbo.sp_addlinkedserver 
@server = N'OMNI', 
@srvproduct=N'OMNI',
@provider=N'MSDASQL', 
@datasrc=N'C:\Omni\Company\Data\databasefile.FDB',
@provstr=N'Driver={Firebird/InterBase(r) driver};Dbname=C:\Omni\Company\Data\databasefile.FDB;CHARSET=NONE;UID=SYSDBA;'

我还尝试使用 Excel 进行连接,我可以使用以下连接字符串查看数据库并查看表格:

Provider=MSDASQL.1;Persist Security Info=True;Data Source=Omni;Extended Properties="DSN=Omni;Driver={Firebird/InterBase(r) driver};Dbname=C:\Omni\Company\Data\databasefile.FDB;CHARSET=NONE;UID=SYSDBA;";Initial Catalog=Omni

最佳答案

好的,这就是答案(此后我只剩下一小块头发;-))

我无法回答为什么它有效的技术问题,但它确实有效。

首先你需要安装

Firebird 2.5

然后是 32 位驱动程序

32 Bit

然后是 64 位驱动程序

64 Bit

然后您进入命令提示符(管理员)。转到您安装 Firebird 2.5 的位置。就我而言,是

C:\Program Files (x86)\Firebird\Firebird_2_5\bin\

然后输入:

fbguard.exe - a

这将使 Firebird 服务器的一个版本运行。

然后就是一个简单的 ODBC 链接设置。

如果您尝试链接到数据库的本地实例,请不要忘记输入

localhost:\Company\Data\Companydata.fdb

关于sql-server-2008 - Firebird FDB 链接服务器 SSMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41163319/

相关文章:

sql-server - Sql Server 2008 MERGE - 获取计数的最佳方法

multithreading - 多线程访问(读/写)同一个表

sql-server - T-SQL if 条件改善查询计划重用的首选方法

sql - 将带有外键的第三张表的记录复制到另一张表

count - 如何加速 Interbase/Firebird 中的 Count(*)

sql - 数据库间查询的性能(链接服务器之间)

sql-server - 有没有一种方法可以在不硬编码数据库名称的情况下查询 SQL Server 链接服务器?

c# - 如何以编程方式创建 JOIN 语句?

jdbc - Jaybird JDBC 3.0 - 连接超时

sql-server - 通过严重性<20的链接服务器捕获错误