SQL导入和导出向导未知列类型转换(s)

当导入平面文件就像一个CSV文件,您可能会收到错误信息未知列的类型转换(s) 在里面 SQL Server的 导入和导出向导.

这是因为CSV文件栏默认为一个字符串. 您将需要定义CSV文件中的每一列的数据类型,然后运行导入. 重要的是,源和目的匹配的数据类型. 在某些情况下,SQL导入导出向导就能数据类型转换,但在许多情况下,将不能够.

下面显示 如何 定义数据类型:

1. 打开SQL导入和导出向导,然后选择从数据源下拉列表中平面文件源
SQL导入和导出向导平面文件数据源

2. 当您选择了数据源,平面文件, 选择从左侧菜单中的高级选项.
SQL导入和导出向导平面文件数据源高级

在本实施例的目的地是一个数据库表称为雇员. 下面是雇员表中的数据类型.

数据库表中的数据类型
为了使数据类型匹配它从SQL导入和SQL向导高级属性菜单更改数据类型.

在这个例子中的雇员需要更改到一个整数,modifieddate到日期.

您也可以选择推荐类型… 按钮,然后按确定的软件来检测数据类型. 该类型的建议… 可能不准确,有时,所以请使用此选项后检查数据类型.

SQL导入和导出向导平面文件数据源高级整数

3. 设置完成后的数据类型选择下一. 选择目的地. 在这个例子中它是一个SQL Server表.

SQL导入和导出向导平面文件数据源目标

4. 选择下一步,然后选择目标表.
SQL导入和导出向导平面文件数据源目标表

5. 选择下一个,你应该看到在左边的列中的所有绿色蜱. 如果你看到一个黄色图标或红色图标,那么你将不得不回去纠正错误.

6. 点击完成,如果一切配置正确,那么你应该看到成功画面.
SQL导入和导出向导平面文件数据源列成功

如果您有问题:

  • 确保目标和源数据类型匹配或兼容
  • 确保数据不会被截断,即在源串数据类型应比目标等于或小于
  • 您可能需要使用文本识别符 (通常引号) 在源,以便有你的分隔符,数据字符之间没有conlflict. 例如:. “文本1, 文本2’ 这将被看作是一个单个的列, 其中,作为不带引号这将是两列,其中的分隔符是一个逗号.

发表评论