热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

EXCEL长度超过255个字符导入SQLSERVER2005的方法

excel长度超过255个字符导入sqlserver2005的方法[excel源[1]]错误:输出“excel源输出”(9)上的输出列“description3”(546)出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。该列在excel中最长为3
excel长度超过255个字符导入sql server2005的方法
[excel 源 [1]] 错误: 输出“excel 源输出”(9) 上的 输出列“description 3”(546) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。

该列在excel中最长为308个字符,但是excel源中的外部列和输出列最多只能设为nvarchar(255),如果设定长度超过255,则出现警告,源列属性不匹配,执行也通不过。使用ntext类型也尝试过,不匹配。

我使用ado.net倒是把它倒入到了,但是发现所有超过255的都被截断了。

原因分析:

   ado和ssis的excel源对数剧列的长度的判定存在问题。

解决方案一:

把excel转换成csv格式,然后使用平面文件源导入数据库。

需要注意两点:

1、输出列长度需要手动修改。

2、注意不同语言造成的unicode字符转换问题,必要时先切换系统语言,再作转换。

解决方案二:

将注册表中

jet引擎.
hkey_local_machinesoftwaremicrosoftjet4.0enginesexcel

如果是:ace引擎.
hkey_local_machinesoftwaremicrosoftoffice12.0access connectivity engineenginesexcel

下的typeguessrows 项的值设置为0

windows server 2003 系统注册表中,jet项位于hkey_local_machinesoftwaremicrosoftwow64node下

原因是驱动默认情况下根据列的前8行数据判定列长度,修改为0后需要检查整列数据来判定列长度,超过255个字符默认为ntext格式,少于255个字符则默认为nvarchar(255)。

添加一个数据流.在数据流里.添加一个oledb源.

新建一个excel的oledb源.在这里就不说了.

只需要将provider设置为microsoft ace oledb.然后选择excel文件.

然后设置extended properties属性为excel 12.0;hdr=yes

解决方案三:

使用函数将长度超过255个字符的列切割为多个少于255的列,导入数据库后在进行合并。

注意excel的选择性粘贴功能。

可用函数:left ,mid

经过我测试,通过!

下载注册表文件

select len(convert(varchar(1000),人员分工)),* from opendatasource( 'microsoft.jet.oledb.4.0','data source="c:book1.xls";user id=admin;password=;extended properties=excel 5.0')...[sheet1$]order by len(人员分工) desc--select * from table1
select len(人员分工),* from openrowset('microsoft.jet.oledb.4.0', 'excel 8.0;hdr=yes;imex=1;database=c:book1.xls', 'select 人员分工,* from [sheet1$]') order by len(人员分工) descselect * from openrowset('microsoft.ace.oledb.12.0', 'excel 12.0;hdr=yes;imex=1;database=c:book1.xls', [sheet1$]) order by len(人员分工) desc
select len(人员分工),* from opendatasource('microsoft.ace.oledb.12.0', 'data source=c:book1.xls;extended properties="excel 12.0;hdr=yes;imex=0"')...[sheet1$]order by len(人员分工) desc

推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
author-avatar
土人甜层_233
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有