• 借用mysql 或者其他数据库 处理MSSQL 2016前处理导入特殊字符


    MSSQL 2016支持了utf8编码的文件,之前处理比较麻烦的bcp 方式导入特殊字符一下子就方便了。

    但是之前的版本,处理起来还是有一点麻烦。这次处理使用的数据库版本是sql server 2014,

    用于测试的例子用2个字符串

    T3 Rénové tout Confort proche métro
    Ona el Marqués Resort
    首先我们在test数据库上面先创建一个测试表 CREATE TABLE T1 (name NVARCHAR(50))
    分别使用如下几种处理方法来进行处理
    尝试1:直接用 bcp -c 来处理 
    EXEC sys.xp_cmdshell 'bcp test..T1 in D:T1.txt -S GINLATOPMSSQLSERVER2014 -T -c'
    SELECT * FROM T1

    结果是酱汁: 

    尝试2 :使用 bcp的格式导入导出来处理

    EXEC sys.xp_cmdshell 'bcp test..T1 format nul -f D:format.xml -S GINLATOPMSSQLSERVER2014 -T -x -c'
    EXEC sys.xp_cmdshell 'bcp test..T1 in D:T1.txt -f D:format.xml -S GINLATOPMSSQLSERVER2014 -T -x'
    SELECT * FROM T1

     结果还是这个图

    尝试3: 使用数据库自带的数据导入功能,得出结论可行!

    尝试4: 当尝试3 也不能导入的时候,可以使用借助mysql或者其他数据库作为中转。先把数据导入其他数据库,然后借助链接服务器把数据导入到sql server

    可以说,尝试4的操作比较复杂,但是确是有用的

    比如用MySQL做例子: 创建一个同名同架构的表

    然后用 

    load data infile "D:\T1.txt" into table T1 ;

    然后建一个链接服务器把数据导入过来即可 

    PS:同时向各位大佬求教这种情况用2014 用bcp 能解决这个问题吗?还是我有某些参数不对呢???

    希望这个方法对大家有帮助

     
  • 相关阅读:
    动态规划 最长公共子序列 LCS,最长单独递增子序列,最长公共子串
    梳排序(Comb sort)
    地精排序(Gnome Sort) 算法
    vs2010 调试 调用堆栈 窗口
    vs2010 条件断点 has changed是什么意思?
    vs2010根据字符串内容添加断点
    vs2010 调试中监视变量
    vs2010断点使用技巧
    区间重合判断(pojg校门外的树)
    转:Linus:利用二级指针删除单向链表
  • 原文地址:https://www.cnblogs.com/Gin-23333/p/7000965.html
Copyright © 2020-2023  润新知