从CSV到DB导入包含二进制列的cvs

时间:2016-03-03 18:36:06

标签: sql-server csv ssis

我想实现以下简单的ETL: input:file.csv有三列,其中一列是二进制的,以十六进制格式表示(如0xFF7A726)。我需要导入数据,然后将二进制值转换回整数。我尝试了什么(这是内部数据流任务有两个来源):

  • 使用派生列并指定如下所示的转换:(DT_UI8)(DT_BYTES,50)BinaryColumn
  • 尝试将列保留为字符串并期望隐式强制转换
  • 尝试再创建一个varbinary列并尝试将dt_string转换为dt_bytes,然后映射到varbinary列

有没有人有从导入二进制数据的cvs导入数据的经验?有人可以分享我需要挖掘的方向吗?

1 个答案:

答案 0 :(得分:0)

我是以相反的方式完成的 - 从数据库中的varbinary转换为csv的base64值,如果这是你的意思? 与Loser建议的类似,将所有导入到临时表的varchar列,然后进行转换可能会起作用。 这个CLR函数方法也可以工作: - http://blogs.msdn.com/b/sqltips/archive/2008/06/30/converting-from-base64-to-varbinary-and-vice-versa.aspx

相关问题