sql-server - 无法将 SQL Server 2012 数据导出到 Excel 2007 : conv. varchar 到 longtext(以及其他错误!)

标签 sql-server excel export-to-excel varchar longtext

我正在编写一份业务计划(周一提交),该计划依赖于将 SQL Server 2012 中的数据导出到 Excel 2007

我有几年 SQL 和 C# 编码经验,但这不是我的主要工作!

花了一天的大部分时间关注各种线程并尝试解决方法,我不知所措:

右键单击数据库 > 任务 > 导出 > SQL Native Client 11.0 > Excel 2003 或 2007 > 列映射适用于 int、DateTime、bit,但所有文本 (varchar(255)) 列默认映射为长文本。即使将其更改为 varchar 也没有帮助。

我还尝试将源表映射到具有不同名称的目标 Excel 工作表(来自下拉列表)。然后我只能映射和导出主键( 是一个下拉列表,仅允许在 PK 列上选择“F1”

系统详细信息 我的电脑:64 位操作系统、基于 x64 的处理器,运行 Windows 10 Pro CPU:AMD 四核 3.8GHz + 8GB RAM

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 微软 Internet Explorer 9.11.10586.0 微软.NET框架4.0.30319.42000 操作系统6.3.10586

错误消息/报告(众多错误消息/报告之一): - 验证(警告) 留言 *警告0x80049304:数据流任务1:警告:无法打开全局共享内存与性能DLL进行通信;数据流性能计数器不可用。要解决此问题,请以管理员身份运行此软件包,或在系统控制台上运行。 (SQL Server导入和导出向导)

我尝试过: 1.默认:Sql native 客户端> .xls -->“从varchar到longtext的潜在丢失转换”

  • 使用 Sql Server 的 OLE DB 提供程序 > .xls --> 相同的错误
  • SQL native 客户端 > .xlsx --> 同样的错误(有人说发送到早期版本的 Excel。我已经回到了 4.0)
  • 没有想法了!(和时间)。

    这是否是操作系统、SQL、Excel、驱动程序/提供程序、32 位与 64 位版本之间的某种冲突?

    甚至尝试颠倒角色:导入 Excel - 这导致了更多麻烦。

    刚才我发现我实际上可以通过 Excel 数据菜单导入(之前不起作用,因为我选择导入数据透视表而不是表格)。

    所以...问题解决了...但是如果我仍然不明白为什么它不能反过来工作,我也不明智...

    如果您读到这里,祝您周末愉快...对于这篇长文章深表歉意

    最佳答案

    我遇到了同样的问题。我希望我也能找到像你一样的解决方案欢呼


    解决方案有效

    转到 Excel

    1. 点击>数据
    2. 点击>其他来源
    3. 选择>从 SQL Server

    随心所欲地使用向导

    关于sql-server - 无法将 SQL Server 2012 数据导出到 Excel 2007 : conv. varchar 到 longtext(以及其他错误!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34969288/

    相关文章:

    sql - 在 SQL Server 2008 中计算表行数的有效查询是什么?

    excel - excel中的邮政编码距离

    c# - [C#] 为 openOffice Calc 导出 xls 中的 DatagridView

    Excel - 将某些公式转换为值 - 性能问题

    java - 如果超出最大行数,则使用 java 和 POIExcel util 创建额外的 excel 文件

    php - 将 HTML-PHP 表导出/下载到 Excel 文件

    mysql - 合并sql数据库和不合并sql数据库是否有意义?

    sql - 如何向通过外键链接的两个表添加数据?

    c# - 从 Dictionary<int, StringBuilder> 到表值 SqlParameter。如何?

    excel - 使用 For 循环覆盖范围隐藏行