首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Firebird到SQL Server将文本blob转换为nvarchar

从Firebird到SQL Server将文本blob转换为nvarchar
EN

Stack Overflow用户
提问于 2014-05-29 18:40:44
回答 3查看 8.8K关注 0票数 4

我正在使用SQL Server,并且在我的SQL Server中有一个Firebird数据库作为链接服务器。

我正在尝试执行一个从Firebird数据库导入数据的OPENQUERY

代码语言:javascript
运行
复制
SELECT * FROM OPENQUERY(Workbench, 'SELECT * FROM table_name')

我得到了下面的错误。

代码语言:javascript
运行
复制
OLE DB provider "MSDASQL" for linked server "Workbench" returned message "Requested conversion is not supported.".
Msg 7341, Level 16, State 2, Line 4
Cannot get the current row value of column "[MSDASQL].NOTES" from OLE DB provider "MSDASQL" for linked server "Workbench". 

Firebird数据库中的数据类型NOTES字段为blob。如果我省略了字段NOTES,查询就会执行,并且结果会被正确导入。

但是我需要NOTES字段中的信息,并且正在寻找一种方法来将blob字段type castnvarchar。我认为这应该在Openquery中完成(即在查询的火鸟端)。

有没有人能推荐一个纯SQL的解决方案,将blob转换成Firebird中的nvarchar

EN

Stack Overflow用户

发布于 2017-10-23 23:05:14

回答晚了,但也许它能帮助一些人...

您可以通过以下语句将blob转换为varchar:

代码语言:javascript
运行
复制
SELECT CAST(SUBSTRING(BlobColumn FROM 1 FOR 32000) AS VARCHAR(32000)) AS NewBlobColumn
FROM TABLE_NAME

然后,您可以在OPENQUERY-语句中使用它

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23931447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档