将SQL Server Reporting Services连接到SQL Anywhere数据库(ASA / ASE)

时间:2009-10-08 21:04:41

标签: sql-server-2008 reporting-services sybase-ase sqlanywhere sybase-asa

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

如果是这样,你做完了吗?请分享经验和任何值得注意的考虑因素。

2 个答案:

答案 0 :(得分:1)

我们的环境是x64 SQL RS,但需要连接x86 SQL Anywhere 9.0。 64位SQL无法识别32位ODBC SQL Anywhere。我们通过安装x86 SQL Server 2008 R2 express,在任何地方为SQL设置System ODBC以及在SQL实例上将服务器链接到SQL Anywhere来解决此问题。

  1. 检查链接服务器中的“允许进程” - > Provider-> ASAProv.90。重新启动SQL服务
  2. 链接服务器 - >服务器选项:将RPC和RPC Out都设置为True。

答案 1 :(得分:0)

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

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

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

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

我正在寻找比我描述的更好的解决方案,因为我很快发现这种类型的ASA连接不支持多值参数。如果您找到更好的解决方案,也许使用ASA ADO.NET Provider,请发布。根据我的发现,ASA没有DPE。