sql server—使用存储过程作为外部字典的源

hsvhsicv  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(400)

由于安全策略,我需要使用存储过程(mssqlserver)作为通过odbc的clickhouse外部字典的源。
根据clickhouse的文档,可以只使用表(或视图)。尽管odbc允许调用存储过程。

<odbc>
    <db>DatabaseName</db>
    <table>TableName</table>
    <connection_string>DSN=some_parameters</connection_string>
    <invalidate_query>SQL_QUERY</invalidate_query>
</odbc>

当我在表中尝试“{call my\u procedure\u name}”时,出现了这个错误。
poco::异常。代码:1000,e.code()=0,e.displaytext()=odbc句柄异常:获取列数失败:connection:netconn:000000001760e400\nserver:omega_dsn\n=============================\nodbc诊断记录#1:\n================================\nsqlstate=42s02\n活动错误代码=208\n[microsoft][odbc driver 17 for sql server][sql server]54>?cab8<>5 81j5:b0“{调用我的\u过程\u名称}“。\n\n==========================\nodbc诊断记录
有人能想出一些解决办法吗?

kb5ga3dv

kb5ga3dv1#

这很可能是由于odbc驱动程序的不兼容性造成的。你可以试着通过https://www.mankier.com/1/isql
至于解决方法,我将从在视图中 Package 存储过程开始。

相关问题