none
读取EXCEL 数据和导入EXCEL 数据问题 RRS feed

  • 问题

  •  

     
    select xx  from opendatasource('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=c:\BOOK1.xls')...[sheet1$]


    1、上面的EXCEL中有500多个字符,但是这样查询出来的却只有255个,这个要怎么解决?
    2、象上面的这种情况,用SQL SERVER的导入导出,要怎样设置才能正常导入?现在在导入的时候报错,错误提示是:
    ----------------------------------------------
    - 正在执行 (错误)
    消息
    错误 0xc020901c: 数据流任务: 输出“Excel 源输出”(9) 上的 输出列“xx”(21) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
    (SQL Server 导入和导出向导)
    错误 0xc020902a: 数据流任务: “输出列“xx”(21)”由于发生截断而失败,而且针对“输出列“xx”(21)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
    (SQL Server 导入和导出向导)
    错误 0xc0047038: 数据流任务: 组件“源 - sheet1$”(1) 的 PrimeOutput 方法返回了错误代码 0xC020902A。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。
    (SQL Server 导入和导出向导)
    错误 0xc0047021: 数据流任务: 线程“SourceThread0”已退出,错误代码为 0xC0047038。
    (SQL Server 导入和导出向导)
    错误 0xc0047039: 数据流任务: 线程“WorkThread0”接收到关闭信号,正在终止。原因是用户请求了关闭,或另一线程中的错误导致该管道关闭。
    (SQL Server 导入和导出向导)
    错误 0xc0047021: 数据流任务: 线程“WorkThread0”已退出,错误代码为 0xC0047039。
    (SQL Server 导入和导出向导)
    ----
    谢谢


    nalnait
    2009年2月25日 3:24

答案

  • nalnait 说:

     to:中国风

    本身就是‘常规’

    谢谢


    nalnait


    估計出在文件格式上,把excel內容復制在wrod或記事本上;再新建一個excel把內容復制到excel上。再查看


    吳熹
    • 已标记为答案 nalnait 2009年2月25日 6:00
    2009年2月25日 5:36
    版主

全部回复

  •  关于Excel 导入数据到SQL SERVER 请确保SQL SERVER已打齐对应补丁
    2009年2月25日 4:12
  • Excel的格式—把文本改為通用格式
    吳熹
    2009年2月25日 5:13
    版主
  •  to:中国风

    本身就是‘常规’

    谢谢
    nalnait
    2009年2月25日 5:22
  • nalnait 说:

     to:中国风

    本身就是‘常规’

    谢谢


    nalnait


    估計出在文件格式上,把excel內容復制在wrod或記事本上;再新建一個excel把內容復制到excel上。再查看


    吳熹
    • 已标记为答案 nalnait 2009年2月25日 6:00
    2009年2月25日 5:36
    版主
  • 谢谢中国风,是格式的问题。现在有没有好的办法批处理一下,因为EXCEL有几千行,且是很多列,一个一个手动拷贝,会有点难度啊。
    再次谢谢了
    2009年2月25日 6:00
  • nalnait 说:

    谢谢中国风,是格式的问题。现在有没有好的办法批处理一下,因为EXCEL有几千行,且是很多列,一个一个手动拷贝,会有点难度啊。
    再次谢谢了


    只需要做復制—新建excel—再復制回excel
    先復制到復制在wrod或記事本上,再新建一個excel把內容復制回新excel上.查看新的Excel數據
    在複製回excel之前把新建excel的格式有字符的列設置為文本或通用格式.



    吳熹
    2009年2月25日 8:10
    版主
  • nalnait 说:

     

     
    select xx  from opendatasource('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=c:\BOOK1.xls')...[sheet1$]


    1、上面的EXCEL中有500多个字符,但是这样查询出来的却只有255个,这个要怎么解决?
    2、象上面的这种情况,用SQL SERVER的导入导出,要怎样设置才能正常导入?现在在导入的时候报错,错误提示是:
    ----------------------------------------------
    - 正在执行 (错误)
    消息
    错误 0xc020901c: 数据流任务: 输出“Excel 源输出”(9) 上的 输出列“xx”(21) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
    (SQL Server 导入和导出向导)
    错误 0xc020902a: 数据流任务: “输出列“xx”(21)”由于发生截断而失败,而且针对“输出列“xx”(21)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
    (SQL Server 导入和导出向导)
    错误 0xc0047038: 数据流任务: 组件“源 - sheet1$”(1) 的 PrimeOutput 方法返回了错误代码 0xC020902A。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。
    (SQL Server 导入和导出向导)
    错误 0xc0047021: 数据流任务: 线程“SourceThread0”已退出,错误代码为 0xC0047038。
    (SQL Server 导入和导出向导)
    错误 0xc0047039: 数据流任务: 线程“WorkThread0”接收到关闭信号,正在终止。原因是用户请求了关闭,或另一线程中的错误导致该管道关闭。
    (SQL Server 导入和导出向导)
    错误 0xc0047021: 数据流任务: 线程“WorkThread0”已退出,错误代码为 0xC0047039。
    (SQL Server 导入和导出向导)
    ----
    谢谢


    nalnait



    Default column display length in query windows is 256 characters, you can change that in ssms -> query window -> tools -> options -> query results -> sql server -> results to text.
    2009年2月25日 19:49
  • 中國風 说:

    nalnait 说:

    谢谢中国风,是格式的问题。现在有没有好的办法批处理一下,因为EXCEL有几千行,且是很多列,一个一个手动拷贝,会有点难度啊。
    再次谢谢了


    只需要做復制—新建excel—再復制回excel
    先復制到復制在wrod或記事本上,再新建一個excel把內容復制回新excel上.查看新的Excel數據
    在複製回excel之前把新建excel的格式有字符的列設置為文本或通用格式.



    吳熹

    那样不是很麻烦,再者,为什么导入导出也不行呢
    谢谢

    2009年2月26日 1:03