PRB: DTS 向导可能无法检测到 Excel 的混合数据的列类型中 SQL Server

文章翻译 文章翻译
文章编号: 236605 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

如果一个文本栏包含可能被解释为混合数据 (例如对于字母数字字符表示十六进制数据) 的数据使用从一个 Microsoft Excel 工作表中导入数据的 Microsoft SQL Server 数据转换服务 (DTS) 导入向导时初始几行确定使用的实际数据类型和后续行可能被转移为 null。DTS 不提供指示某些行可能不传输一条警告消息。

注意如果使用的 SQL Server 2005 使用 SQL Server 导入和导出向导中执行数据转换。

原因

此行为是设计为 Excel ISAM。前 8 行确定列的数据类型。例如对于如果大多数的前 8 行中包含数字字符列的数据类型将是一个数字。不适合该数据类型的所有后续值返回为 NULL。

替代方法

一个解决方法是将 Excel 工作表保存为文本的文件,然后您使用 DTS 向导将文件导入到 SQL Server。

更多信息

步骤到再现行为

例如对于在 Excel 中创建下面的工作表:
收起该表格展开该表格
十进制十六进制
11
22
33
44
55
66
77
88
99
10A
11B
12C
13D
14E
15F
"小数"的格式设置为常规的第一列和第二列"十六进制"被格式化为文本。

如果在加载从 Excel 中使用该的 DTS Wizard 行 10-15 (值 A-F) SQL Server 此表是 NULL 时加载到 SQL 表 (如在的工作簿中的文本,但 DTS 使它成为浮动类型由于检测到 DBTYPE_R8 作为源列,它格式化 HEX 列)。

参考

有关详细的信息,请参阅 SQL Server 联机丛书中的 SQL Server 数据转换服务主题。

属性

文章编号: 236605 - 最后修改: 2007年2月22日 - 修订: 6.3
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 7.0 标准版
  • Microsoft Excel 97 标准版
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
关键字:?
kbmt kbdatabase kbprb KB236605 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 236605
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com