2016-01-23 111 views
2

我正在寫一個取決於SQL Server 2012中的數據導出到Excel 2007的業務計劃(由於星期一)無法將SQL Server 2012數據導出到Excel 2007:conv。 varchar to longtext(&other errors!)

我有幾年的SQL編碼經驗和C#但這不是我的主要工作!

有花大半天以下不同的線程,並試圖解決方法,我很茫然:

右擊數據庫>任務>導出> SQL Native Client的11.0> Excel 2003或2007>列映射作品ok,int,DateTime,bit,但所有文本(varchar(255))列默認映射到longtext。即使將其更改爲varchar也無濟於事。

我也嘗試將源表映射到具有不同名稱(從下拉列表中)的目標Excel工作表。然後,我只能映射並導出主鍵(是一個下拉,只允許在PK列「F1」選擇

系統詳細 我的電腦:64位操作系統,x64-基於處理器運行Windows 10 Pro的CPU :AMD四核3.8GHz的+ 8GB的內存

SQL SERVER:V12 - (11.0.2100)

微軟SQL Server Management Studio中11.0.2100.60 個Microsoft數據訪問組件(MDAC)10.0.10586.0 微軟MSXML 3.0 4.0 6.0 Microsoft Internet Explorer中9.11.10586.0 的Microsoft .NET Framework 4.0.30319.42000 操作系統6.3.10586

錯誤消息/報告(一個很多): - 驗證(警告) 消息 *警告0x80049304:數據流任務1:警告:無法打開全局共享內存以與性能DLL進行通信;數據流性能計數器不可用。要解決此問題,請以管理員身份或系統控制檯運行此程序包。 (SQL Server導入和導出嚮導)

我已經試過: 1.默認:SQL本地客戶端>的.xls - > 「從varchar 潛在丟失轉換爲長文本」

  • 使用OLE DB provider for Sql Server> .xls - >同樣的錯誤
  • SQL本地客戶端> .xlsx - >同樣的錯誤(有人說發送到早期版本的Excel。回到4.0)
  • 用盡想法!(和時間)。

    這是OS,SQL,Excel,驅動程序/提供程序,32和64位版本之間的某種衝突?

    即使嘗試顛倒角色:導入到Excel中 - 導致更多的麻煩。

    剛纔我發現我實際上可以通過Excel數據菜單導入(由於我選擇導入數據透視表而不是表格),因此我之前沒有工作。

    所以......問題解決了......但如果我仍然不明白爲什麼它不工作,反過來,我不是聰明......

    有一個愉快的週末,如果你閱讀此遠...並對不起長帖

    +0

    不太確定的版本2012年,但我以前使用命令行實用程序_bcp_從SQL Server導出數據 – Rumbleweed

    +0

    SQL Server已將數據導出到Excel沒有問題。我懷疑這個問題更多的與導出數據或以Excel格式創建報告混淆。 BTW正確的擴展名是'xlsx',xls已被棄用。沒有必要去尋找驅動程序,xlsx是一個壓縮的xml格式。至於格式 - Excel值都是文本。這是單元格格式,使它們出現這種或那種方式。在任何情況下,導出嚮導實際上都會創建一個SSIS包,您可以使用Visual Studio保存和編輯以更改設置,格式等,然後重新使用 –

    回答

    3

    我遇到了同樣的問題。我希望我還可以找到一個解決辦法像你這樣的歡呼聲


    的解決方案工作

    去到Excel

    1. 點擊>上的數據
    2. 點擊>從其他來源
    3. select> from sql server

    使用嚮導,因爲你希望享受

    相關問題