雪花 SSRS ODBC 错误:当前会话中未选择任何活动仓库。使用 'use warehouse' 命令选择活动仓库



我正在使用SSRS(SQL Server报告服务(来显示报告,我的数据源是Snowflake

我已经安装了 ODBC 雪花驱动程序并正确配置了它 单击此处查看 ODBC 配置

我已经在 SSRS 服务器上创建了一个共享数据源(通过报表管理器(,并输入了我自己的凭据,连接工作正常 单击此处查看 SSRS 服务器上的连接

我可以毫无问题地构建 SSRS 报告,当我运行报告时,一切正常,我可以在服务器上发布报告,并且报告在浏览器上呈现得很好

问题是当我第二天返回报告时,我看到一个错误:

报表处理过程中出错。(rs处理中止( 数据集的查询执行失败 ">insert_name_of_my_dataset_here"。(rsErrorExecutingCommand(

错误 [57P03] 当前进程中未选择任何活动仓库。 使用"使用仓库"命令选择活动仓库。

因此,这也意味着以下内容也不起作用:

  • 订阅
  • 缓存刷新
  • 快照

唯一有效的方法是,如果我在 SSRS 报表生成器中打开报表,右键单击我的每个数据集(">每个"非常重要,如果我不执行所有数据集,它就不起作用(,我为每个数据集手动运行查询,然后"连接"或"会话"被"重新激活"并且报表运行良好, 本地服务器上...注意:我不必在服务器上重新发布报表即可运行

单击此处查看我的流程截图

我为解决问题而采取的步骤(没有产生任何解决方案(:

  • 我尝试在每个数据集的 SQL 脚本之前放置"使用仓库WAREHOUSE_NAME;">命令,但 Snowflake 的 API 不允许发送多个 SQL 命令,所以我已经看到此功能在 Snowflake 的开发管道中,并找到了这个链接: https://github.com/snowflakedb/snowflake-connector-net/issues/33 - 这项工作于 2018 年开始,最后一次更新日期为 2019 年 4 月,说他们开始解决 JDBC 驱动程序...尚未提及 ODBC 驱动程序
  • 我已将雪花参数客户端会话保持活动状态设置为 true (https://docs.snowflake.com/en/sql-reference/parameters.html#client-session-keep-alive(,但根据社区门户:类似的"保持活动状态"参数当前不适用于 ODBC 驱动程序。相反,您可以每隔几个小时发出一次虚拟查询,以保持连接处于活动状态。(https://community.snowflake.com/s/article/faq-how-long-can-my-jdbcodbc-connection-remain-idle(
  • 列表项
  • 我尝试创建一个缓存刷新计划或快照计划,该计划每
  • 3 小时创建一次快照或缓存报告,它适用于第一个计划,但失败并导致其他计划出错
  • 我唯一没有尝试的是让雪花永远不会关闭连接并将仓库无限期地保持在"已启动"状态......但这会增加我的成本,而且我很确定它不起作用,因为会话无论如何都会在 4 小时后结束......

欢迎任何帮助!

谢谢

规格:

  • SSRS 2014
  • 雪花X-小
  • ODBC-64 位驱动程序,从 雪花驱动程序存储库(也使用 32 位测试,但 64 位是 对 SSRS 可见的那个(

我遇到了同样的问题,并修复了在数据仓库中添加相应角色的问题。

在数据仓库中,使用使用情况添加角色。

它是否与数据仓库名称相关(在 ODBC 设置中(?有错别字吗?COSNUMER_WH还是CONSUMER_WH?

我强烈建议为这种情况设置默认的"上下文"配置,使用如下命令设置默认角色、仓库、数据库和架构:

更改用户 XYZ 集 DEFAULT_WAREHOUSE = 'WH_NAME_HERE' ;

https://docs.snowflake.com/en/sql-reference/sql/alter-user.html

最新更新