0

有什么方法可以将 SQL Server 2008 Reporting Services 连接到 Sybase SQL Anywhere 数据库(ASA 或 ASE)?也许使用 ODBC...

如果有,你做到了吗?请分享经验和任何值得注意的注意事项。

4

2 回答 2

1

我们的环境是 x64 SQL RS 但需要连接 x86 SQL Anywhere 9.0。64 位 SQL 无法识别 32 位 ODBC SQL Anywhere。我们通过安装 x86 SQL Server 2008 R2 express、为 SQL Anywhere 设置系统 ODBC 并将服务器链接到 SQL 实例上的 SQL Anywhere 解决了这个问题。

  1. 在链接服务器->Provider->ASAProv.90 中选中“允许进程内”。重启 SQL 服务
  2. 链接服务器 -> 服务器选项:将 RPC 和 RPC Out 都设置为 True。
于 2010-12-27T15:46:08.607 回答
0

我已成功将数据源类型 (DPE) 设置为 OLEDB 并使用 ASA 9.0 OLEDB 提供程序。VS2008 中的连接字符串编辑器不允许我创建一个有效的连接字符串,所以我只需输入整个连接字符串,如下所示:

Provider=ASAProv;Eng=[ASAInstanceName];Dbn=[ASADatabase];Uid=[ASAUser];Pwd=[ASAPwd];Links=tcpip(host=[servername])

将带有方括号的部分替换为适合您的安装的值。方括号不应出现在您的最终连接字符串中,也不需要引号。如果数据库在您的本地计算机上,则可能不需要最后的链接语句。即使我包含了数据库用户名和密码,它似乎也没有被使用。我还必须在 DataSource Credentials 中设置它们。当部署到 SSRS 时,我还将它们设置在 DataSource 中以保存在服务器上。

我注意到在 VS 2008 中以本地模式预览报表时性能非常慢。相反,我每次想要“预览”它时都开始部署我的报表,这样我就可以通过浏览器在 SSRS 服务器上查看它。这样性能会好很多。

我正在寻找比我所描述的更好的解决方案,因为我很快发现这种与 ASA 的连接不支持多值参数。如果您找到更好的解决方案,可能使用 ASA ADO.NET 提供程序,请发布。但从我发现的情况来看,ASA 不存在 DPE。

于 2009-11-05T02:14:54.287 回答