SQL Server 2008 - 链接的Firebird服务器 - 无法正常工作

时间:2012-07-11 07:04:08

标签: sql-server sql-server-2008 odbc firebird linked-server

我有一个SQL Server 2008.我使用Firebird/InterBase(r) driver创建了与Firebird数据库的ODBC连接。

连接正常。

然后我使用Microsoft OLE DB Provider for ODBC diver在SQL Server 2008中创建了一个链接服务器。

一切似乎都很好。我可以使用

从表中提取数据
SELECT * FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT * FROM TABLENAME')

成功。

我的问题是远程存储过程调用。在Firebird端,有一个存储过程有一个输入参数。有时我会得到结果,但大部分时间我都会收到错误。我不确定为什么会发生这种情况,但我对错误并不了解。

我这样称呼程序:

SELECT * FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT * FROM GET_DOCUMENT_S(05011002766916)'

它要么我得到结果(1行),要么我得到一个错误。对于id 05011002766916i总是得到结果,但对于某些id我永远不会得到结果,即使Firebird管理员声称相同的过程调用通常在他的客户端返回结果。

以下是我遇到的错误:

  

Msg 7399,Level 16,State 1,Line 1
  链接服务器“LINKEDSERVERNAME”的OLE DB提供程序“MSDASQL”报告错误。提供商未提供有关错误的任何信息   Msg 7321,Level 16,State 2,Line 1
  准备查询“SELECT * FROM GET_DOCUMENT_S(04170200133A120)”时出错,以便对OLE DB提供程序执行   链接服务器“LINKEDSERVERNAME”的“MSDASQL”。

或者:

  

Msg 7399,Level 16,State 1,Line 1
  链接服务器“LINKEDSERVERNAME”的OLE DB提供程序“MSDASQL”报告错误。提供商未提供有关错误的任何信息   Msg 7330,Level 16,State 2,Line 1
  无法从OLE DB提供程序“MSDASQL”获取链接服务器“LINKEDSERVERNAME”的行。

有人可以解释可能是什么问题,因为目前我不知道它在ODBC,链接服务器或Firebird方面是否存在问题......

谢谢。

1 个答案:

答案 0 :(得分:0)

问题出在Firebird方面。我使用了Flamerobin客户端,它产生了IBPP:SQLException

相关问题