热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

求助MYSQL千万数据导入到sqlserver2005变成乱码,我用的是工具是dts通过odbc连接连转换的

求助MYSQL千万数据导入到sqlserver2005变成乱码,我用的是工具是dts通过odbc连接连转换的,sqlserver2005把dts改成说法是ssis给大家看一下我的mysql数据
求助MYSQL千万数据导入到sqlserver2005变成乱码,我用的是工具是dts通过odbc连接连转换的,sqlserver2005把dts改成说法是ssis

给大家看一下我的mysql数据结构表
我只有真实用户名字的字段是中文的


CREATE TABLE oa(
  email  varchar(100) collate utf8_bin NOT NULL,
  realname varchar(100) collate utf8_bin NOT NULL,
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

13 个解决方案

#1


你在导之间把两个库的字符集设置成一样.

以下为查看和更改SQL SERVER的字符集

use master 
select * from syscharsets

1.用sp_helpsort就可以查出当前sql的排序规则,字符集就是用排序规则的前半部分来表达的。 
2.用全局变量@@language可以看你当前的语言,用sp_helplanguage可以查看当前语言的详细格式 
3.用sp_enumcodepages可以查看sql支持字符集,但并没有与1中的排序规则前部分对应 

所以要查看sql的字符集,应该是用sp_helpsort得出的结果,
再看结果的前半部比如chinese_prc就代表简体中文的Unicode字符,


默认字符集
Alter database 数据库名称 Collate Chinese_PRC_BIN 
排序
ALTER DATABASE 数据库名 COLLATE 排序规则名 


至于MYSQL里面的字符集如何查询和更改就不知道了.帮顶.

#2


2005的字符集是不让修改的。

#3


--1. 为数据库指定排序规则
CREATE DATABASE db COLLATE Chinese_PRC_CI_AS
GO

ALTER DATABASE db COLLATE Chinese_PRC_BIN
GO


/*====================================*/


--2. 为表中的列指定排序规则
CREATE TABLE tb(
col1 varchar(10),
col2 varchar(10) COLLATE Chinese_PRC_CI_AS)
GO

ALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN
GO

ALTER TABLE tb ALTER COLUMN col2 varchar(10) COLLATE Chinese_PRC_BIN
GO


/*====================================*/


--3. 为字符变量和参数应用排序规则
DECLARE @a varchar(10),@b varchar(10)
SELECT @a='a',@b='A'

--使用排序规则 Chinese_PRC_CI_AS
SELECT CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN '@a=@b' ELSE '@a<>@b' END
--结果:@a=@b

--使用排序规则 Chinese_PRC_BIN
SELECT CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN '@a=@b' ELSE '@a<>@b' END
--结果:@a<>@b

#4


mysql中charset为utf-8你的sql2005中表中相应字段,如果是chinese_prc_****排序规则,应该是不会乱码的。
或者把sql2005 中相应字段列类型改为nvarchar

#5


此問題我也遇到過:
   從oracle數據庫表數據在導入sql2000數據庫表數據時,我用了sql link方法:
   select * from openquery(ora,'select * from bom_loc')數據顯示中文是亂碼的,我在自己的機子上測試,安裝了 oacle net manager再配置連接,居然不亂碼了,顯示一切正常;建議樓主修改字符集或按照我的方法試試,sql2008查詢也通過!

#6


此問題我也遇到過:
   從oracle數據庫表數據在導入sql2000數據庫表數據時,我用了sql link方法:
   select * from openquery(ora,'select * from bom_loc')數據顯示中文是亂碼的,我在自己的機子上測試,安裝了 oacle net manager再配置連接,居然不亂碼了,顯示一切正常;建議樓主修改字符集或按照我的方法試試,sql2008查詢也通過!

#7


mssql里字符串的栏位改成nvarchar

#8


关注

#9


我测试看看.这几天比较忙.没有看.大家等我好消息.哈哈

#10


引用楼主 sqlserveraihaozhe 的帖子:
求助MYSQL千万数据导入到sqlserver2005变成乱码,我用的是工具是dts通过odbc连接连转换的,sqlserver2005把dts改成说法是ssis 

给大家看一下我的mysql数据结构表 
我只有真实用户名字的字段是中文的 


CREATE TABLE oa( 
  email  varchar(100) collate utf8_bin NOT NULL, 
  realname varchar(100) collate utf8_bin NOT NULL, 
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; 


该成 --在最后面的 not null去掉,号

CREATE TABLE oa( 
  email  varchar(100) collate utf8_bin NOT NULL, 
  realname varchar(100) collate utf8_bin NOT NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 
[/Quote]

#11


哈哈.我已经解决了,要散分给你们咯.解决方式是odbc版本问题.我以前用的是mysql-5.0.24-win32
与odbc3.1版本的.现在改成ODBC5·1 这样转换就没有问题了.为什么是版本问题呢.因为我转换的时候
用的dts,而dts正是通过odbc驱动来转换数据的.ok.谢谢各位的热情,让我们学到更多的知识

#12


楼主,有联系方式嘛?后来导的乱码问题解决了!?!!???!????我的QQ:273246353。。。也遇到同样棘手的问题

#13


我也遇到了!!!

推荐阅读
  • 如何使用R语言高效连接并操作MySQL数据库
    如何使用R语言高效连接并操作MySQL数据库 ... [详细]
  • Navicat Premium中MySQL用户管理:创建新用户及高级设置
    本文作为Navicat Premium用户管理系列的第二部分,主要介绍如何创建新的MySQL用户,包括设置基本账户信息、密码策略、账户限制以及SSL配置等。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 本文介绍了如何使用Workman框架构建一个功能全面的即时通讯系统,该系统不仅支持一对一聊天、群组聊天,还集成了视频会议和实时音视频通话功能,同时提供了红包发送等附加功能。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • mysql数据库json类型数据,sql server json数据类型
    mysql数据库json类型数据,sql server json数据类型 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 本文提供了解决在尝试重置MySQL root用户密码时遇到连接失败问题的方法,包括停止MySQL服务、以安全模式启动MySQL、手动更新用户表中的密码等步骤。 ... [详细]
  • SQLite是一种轻量级的关系型数据库管理系统,尽管体积小巧,却能支持高达2TB的数据库容量,每个数据库以单个文件形式存储。本文将详细介绍SQLite在Android开发中的应用,包括其数据存储机制、事务处理方式及数据类型的动态特性。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
author-avatar
杨洋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有