首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何导入带大容量导入的var二进制(Max)列?

如何导入带大容量导入的var二进制(Max)列?
EN

Database Administration用户
提问于 2011-06-02 22:32:47
回答 3查看 15K关注 0票数 5

我有一个var二进制(Max)列,需要批量导入。我要在本专栏中输入的数据是byte[] in C#。如何格式化用于批量导入的逗号分隔文件中的数据?换句话说,如何以bcp实用程序将接受的方式从byte[]转换为字符串?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2011-06-03 04:35:31

varbinary的形式是0x01020304,以便Server读取。

所以你的CSV会是

代码语言:javascript
复制
col1,col2,varbinary
foo,1,0x01020304
bar,2,0x988776655443

2013年5月编辑,

经过测试后,我无法让它与大容量插入或没有格式文件一起工作。

当我开始工作的时候,我会发布更多的东西。我不能删除这个答案

票数 5
EN

Database Administration用户

发布于 2011-06-06 13:09:58

您可以使用BCP unicode本机格式导入/导出。导出使用bcp -n,导入使用WITH (DATAFILETYPE='widenative')子句。单击链接阅读更多信息。

票数 1
EN

Database Administration用户

发布于 2015-08-04 07:22:35

我让它开始工作了。您的varbinary必须是csv文件中的表单424C4F4220434F4E54454E54。您还必须指定csv文件的正确代码页。

我有下表:

代码语言:javascript
复制
CREATE TABLE [dbo].[BlobTable](
    [id] [int],
    [blobValue] [varbinary](max),
    [textValue] [nvarchar](500)
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

和批量导入查询:

代码语言:javascript
复制
bulk insert dbo.BlobTable
from 'C:\importBlob.csv'
with (DATAFILETYPE = 'char', fieldterminator=',', codepage='1251')

它很适合使用windows-1251编码的csv文件:

代码语言:javascript
复制
1,424C4F4220434F4E54454E54,english text
2,424C4F4220434F4E54454E54,русский текст

这里的值424C4F4220434F4E54454E54只是二进制形式的BLOB CONTENT

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/3138

复制
相关文章

相似问题

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