【问题标题】:How to force SQL Server 2008 express import from Excel to a specific data type?如何强制 SQL Server 2008 从 Excel 快速导入到特定数据类型?
【发布时间】:2010-07-01 12:13:13
【问题描述】:

我想强制 SQL Management Studio - 导入数据 - 从 XLS excel 文件读取一列作为特定数据类型?它进行类型猜测。我的前 N ​​行包含十进制数据,但后面的一些列也有字符。我知道我需要在 XLS 文件的连接字符串中指定 IMEX=1,但据我所知,只有在使用 ADO.NET 应用程序来执行此操作时才能执行此操作。 (这会强制 Jet 引擎遵守设置为 Text 的注册表设置 HKML\Software\Microsoft\Jet\4.0\Engines\Excel\ImportMixedTypes)。

如果我有 sql server 2008 的开发者/企业版,并且编辑 DTS 包以包含连接字符串,也可以这样做。但是我使用不允许保存 DTS 包的 Express 版本 - 我的其他选择是什么?谢谢

【问题讨论】:

    标签: sql excel import


    【解决方案1】:

    使用 OLE DB Provier for Access 数据库引擎(或 Jet,取决于 Excel 的版本),单击“属性”按钮以打开“数据链接属性”对话框,单击“全部”选项卡并在列表中编辑添加 IMEX=1 的“扩展属性”项。

    从哪里获得 OLE DB 提供程序? Access 数据库引擎的版本,称为 ACE,作为 Access2007 的一部分发布,可用于打开 Jet 4.0 数据源,包括 Excel 电子表格。它可以从 MSDN 下载为2007 Office System Driver: Data Connectivity Components。所述支持的操作系统包括:Windows 7、Windows Vista、Windows Server 2008、Windows Server 2003 和 Windows XP。 Access2010 可能有一个等价物,但我不在循环中。

    【讨论】:

    • 这看起来可能有效,但我没有安装用于 Jet(或 Access)的 OLE DB 提供程序,并且 我似乎无法找到我应该如何安装它。我有 32 位 Vista Business、Visual Studio 2010、Sql 2008 express。 Jet 4.0 提供程序的所有安装似乎都适用于 WinXP 及更低版本
    【解决方案2】:

    添加第一行,其中包含您在导入数据后从目标表中删除的文本数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 2013-09-13
      相关资源
      最近更新 更多