oracle数据库中的数据导入sql-server中

chenxu4277 2009-02-01 02:33:22
问题:先将oracle数据库转换成sql-server,使用sql-server中的导入数据工具进行导入,但发现oracle表中有韩文的数据的都变成了乱码?号,怎么解决?目标表的字段已经设置为nvarchar了,源数据表的字段也是nvarchar类型的


顶者有分,谢谢各位了!
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
w2jc 2009-02-02
  • 打赏
  • 举报
回复
你的SQL server必须能支持韩文的代码页,
另外,导入的时候看看有没有什么选项指定代码页或者collation这类的,
但是nvarch还不够

直接导实在不行的话,就先导成text文本格式(但也要支持韩文),
再导入sql server
kye_jufei 2009-02-02
  • 打赏
  • 举报
回复
oracle導入sql用addlink
select * from openquery(ora,'select * from bom_loc')

/****** Object: LinkedServer [ora] Script Date: 02/02/2009 08:23:57 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'ora', @srvproduct=N'oracle', @provider=N'msdaora', @datasrc=N'rsc'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ora',@useself=N'False',@locallogin=NULL,@rmtuser=N'mes',@rmtpassword='########'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ora',@useself=N'False',@locallogin=N'sa',@rmtuser=N'mes',@rmtpassword='########'

GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'collation compatible', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'data access', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'dist', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'pub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'rpc', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'rpc out', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'sub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'connect timeout', @optvalue=N'30'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'collation name', @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'lazy schema validation', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'query timeout', @optvalue=N'30'
GO

EXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'use remote collation', @optvalue=N'true'
GO


rucypli 2009-02-01
  • 打赏
  • 举报
回复
难道要添加韩文字库?
djs00717 2009-02-01
  • 打赏
  • 举报
回复
装sql-server系统是否支持韩文?
chenxu4277 2009-02-01
  • 打赏
  • 举报
回复
wufeng4552 :

您好,在排序规则Chinese_PRC_CS_AS下,导入数据,显示还是不正常,麻烦帮忙看下,谢谢!
水族杰纶 2009-02-01
  • 打赏
  • 举报
回复
sql排序规则
如果要是区分大小写的话,就要改变数据库的排序规则。

1、查看系统中所支持的全部排序规则列表

SELECT * FROM ::fn_helpcollations()

2、查看当前系统的排序规则.

SELECT SERVERPROPERTY('Collation')

3、改变数据库的排序规则(做ALTER之前,要中断所有用户对此数据库的访问)

语法:
use master
go
ALTER DATABASE 数据库名 COLLATE 排序规则名
例子:
use master
go
ALTER DATABASE luwanzhufa COLLATE Chinese_PRC_CS_AS

* 我查过。Chinese_PRC_CS_AS这个是简体中文。而且区分大小写的排序规则。

192 Japanese_BIN 二进制顺序、用于 932(日文)字符集。
193 Japanese_CI_AS 字典顺序、不区分大小写、用于 932(日文)字符集。
200 Japanese_CS_AS 字典顺序、区分大小写、用于 932(日文)字符集。
198 Chinese_PRC_BIN 二进制顺序、用于 936(简体中文)字符集。
199 Chinese_PRC_CI_AS 字典顺序、不区分大小写、用于 936(简体中文)字符集。
203 Chinese_PRC_CS_AS 字典顺序、区分大小写、用于 936(简体中文)字符集。
orochi_gao 2009-02-01
  • 打赏
  • 举报
回复
顶,是不是排序规则问题?
水族杰纶 2009-02-01
  • 打赏
  • 举报
回复
顶~

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧