【发布时间】:2020-06-09 13:14:02
【问题描述】:
我正在使用 SSRS(SQL Server 报告服务)来显示报告,我的数据源是 Snowflake
我已安装 ODBC 雪花驱动程序并正确配置它 Click here to view the ODBC configuration
我在 SSRS 服务器上创建了一个共享数据源(通过报告管理器)并输入了我自己的凭据,并且连接工作正常 Click here to view the connection on the SSRS Server
我能够毫无问题地构建 SSRS 报告,当我运行报告时,一切正常,我可以在服务器上发布报告,并且报告在浏览器上呈现完美
问题是当我第二天返回报告时,我收到了一个错误:
报告处理过程中发生错误。 (rsProcessingAborted) 数据集的查询执行失败 'insert_name_of_my_dataset_here'。 (rsErrorExecutingCommand)
错误 [57P03] 当前会话中未选择活动仓库。 使用“使用仓库”命令选择一个活动仓库。
所以,这也意味着以下内容也不起作用:
- 订阅
- 缓存刷新
- 快照
唯一可行的是,如果我在 SSRS 报告生成器中打开我的报告,我右键单击我的数据集的 EACH(“每个”非常重要,如果我不这样做它就不起作用'不要全部做),我为每个人手动运行查询,然后“连接”或“会话”被“重新激活”并且报告运行良好,本地 AND在服务器上...请注意,我不必在服务器上重新发布报告即可运行
Click here to view screenshots of my process
我为解决该问题所采取的步骤(未产生任何解决方案):
- 我已尝试将 “使用仓库 WAREHOUSE_NAME;” command 在每个数据集的 SQL 脚本之前,但是 Snowflake 的 API 不允许发送多个 SQL 命令,所以我已经看到这个功能在 Snowflake 的开发管道中,并找到了这个链接:https://github.com/snowflakedb/snowflake-connector-net/issues/33 - 这项工作于 2018 年开始,最后一次更新日期为 2019 年 4 月,表示他们开始解决 JDBC 驱动程序...尚未提及 ODBC 驱动程序
- 我已将雪花参数 client-session-keep-alive 设置为 true (https://docs.snowflake.com/en/sql-reference/parameters.html#client-session-keep-alive),但根据社区门户:类似的“keep alive”参数目前不适用于ODBC 驱动程序。相反,您可以每隔几个小时发出一个虚拟查询以保持连接处于活动状态。 (https://community.snowflake.com/s/article/faq-how-long-can-my-jdbcodbc-connection-remain-idle)
- 列表项
- 我已尝试创建缓存刷新计划或快照计划,每 3 小时创建一次快照或缓存报告,它适用于第一个计划,但其他计划失败并出现错误
- 我唯一没有尝试的是让雪花永远不会关闭连接并无限期地保持仓库处于“启动”状态......但这会增加我的成本,我很确定它不会工作,因为会话将在 4 小时后结束......
欢迎任何帮助!
谢谢
规格:
- SSRS 2014
- Snowflake X-small
- ODBC-64 位驱动程序,从 雪花驱动程序存储库(也用 32 位测试,但 64 位是 SSRS 可见)
【问题讨论】:
标签: sql-server reporting-services odbc snowflake-cloud-data-platform