2010-07-01 102 views
0

我想強制SQL管理工作室 - 導入數據 - 從XLS Excel文件讀取一列作爲特定的數據類型?它做了類型猜測。我的前N行包含十進制數據,但稍後一些列中也有字符。我知道我需要在XLS文件的連接字符串中指定IMEX=1,但據我所知,只有使用ADO.NET應用程序才能完成此操作。 (這迫使Jet引擎承認設置爲文本的註冊表設置HKML\Software\Microsoft\Jet\4.0\Engines\Excel\ImportMixedTypes)。如何強制SQL Server 2008從Excel導入特定數據類型?

如果我有SQL Server 2008的開發人員/企業版,並編輯DTS包以包含連接字符串,也可以這樣做。但是我使用不支持保存DTS包的Express版本 - 我的其他選項是什麼?謝謝

回答

0

使用Access數據庫引擎(或Jet取決於Excel版本)的OLE DB Provist,單擊「屬性」按鈕打開「數據鏈接屬性」對話框,單擊「全部」選項卡並在列表中編輯「擴展屬性」項以添加IMEX = 1。

從哪裏獲得OLE DB提供程序? Access數據庫引擎的版本(稱爲ACE)作爲Access2007的一部分發布,可用於打開包括Excel電子表格的Jet 4.0數據源。它可以從MSDN下載爲2007 Office System Driver: Data Connectivity Components。所述支持的操作系統是:Windows 7,Windows Vista,Windows Server 2008,Windows Server 2003和Windows XP。對於Access2010,可能會有一個等價物,但是我沒有這個循環。

+0

這看起來像它可能工作,但我沒有安裝的Jet(或Access)的OLE DB提供程序,*我似乎無法找到我應該如何安裝*。我有32位Vista Business,Visual Studio 2010,Sql 2008 Express。 Jet 4.0提供程序的所有安裝似乎都是針對WinXP並且更低版本 – Axarydax 2010-07-02 06:36:37

+0

我編輯了我的答案以提供ACE的下載詳細信息。 – onedaywhen 2010-07-02 08:24:21

0

添加第一行,其中包含在導入數據後從目標表中刪除的文本數據。

相關問題