SQL错误:(最大)预期数据长度为510,而返回的数据长度为1010

发布于 2025-01-23 12:44:32 字数 741 浏览 4 评论 0原文

我有一个来自Cloudera Hive ODBC的数据源,该数据源是通过链接服务器连接的MS SQL Server。当我尝试查询其中一张表时,它会引发一个错误,如下所示的“ OLE DB提供商”链接服务器'Cl'返回的数据,该数据与列的预期数据长度不符合“转介”的预期数据长度。(最大)预期数据长度为510,而返回的数据长度为1010。 我试图通过添加oledbreturncharaswchar = 0,尝试使用连接字符串标准,仅使用打开查询不运气,更改了连接字符串条件,我尝试过的一些示例如下:

  1. 选择cast(notes1 as varchar(max))

    • cast(notes2 as varchar(max))
    • cast(notes3 as varchar(max))作为注释 来自OpenQuery(Cl,'Select 左(cast(转介为Varchar(1000),400)作为注释1 ,substring(cast(转介为Varchar(1000),401,800)作为注释2 ,substring(cast(转介为Varchar(1000),801,1200)作为注释3 来自推荐')
  2. 声明@my varchar(max) 设置@my ='select *来自[referral]'' 在[cl]

    上执行(@my)
  3. select *从OpenQuery(cl,'select cast(转介)为nvarchar(4000))作为refreason从转介')

I have a data source from Cloudera Hive ODBC in MS SQL Server connected via a linked server. When I try to query one of the tables it throws an error as follows ' OLE DB provider 'MSDASQL' for linked server 'CL' returned data that does not match the expected data length for column 'referralreason'.The (maximum) expected data length is 510, while the returned data length is 1010.'
I tried to cast it to varchar, changed the connection string criteria by adding OLEDBReturnCharAsWChar=0, tried using only open query no luck, some examples I tried are below:

  1. SELECT CAST(Notes1 AS VARCHAR(MAX))

    • CAST(Notes2 AS VARCHAR(MAX))
    • CAST(Notes3 AS VARCHAR(MAX)) AS Notes
      FROM OPENQUERY(CL, 'SELECT
      LEFT(CAST(referralreason AS VARCHAR(1000), 400) AS Notes1
      ,SUBSTRING(CAST(referralreason AS VARCHAR(1000),401,800) AS Notes2
      ,SUBSTRING(CAST(referralreason AS VARCHAR(1000),801,1200) AS Notes3
      FROM from REFERRAL')
  2. declare @my varchar(max)
    set @my = 'select * from [REFERRAL]'
    execute (@my) AT [CL]

  3. select * from OPENQUERY(CL, 'select CAST(referralreason AS NVARCHAR(4000)) as refreason from REFERRAL')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文