能否改变数据库的默认语言

zjkk1011 2010-06-24 09:44:28
有一套韩文的数据库,想导入到中文系统下,并让它能正常保存中文。
现在导到中文系统后数据库的语言仍是韩文,保存中文是乱码。
不想把字段都改成nvarchar的,那样改动量太大了。有没有直接修改数据库语言的方法,或者在导入的时候有什么方法?
sqlserver不是很熟,麻烦写详细点,谢谢
...全文
64 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjkk1011 2010-06-29
  • 打赏
  • 举报
回复
最后还是改成nvarchar了,谢谢大家
claro 2010-06-24
  • 打赏
  • 举报
回复
有尝试将系统的语言设置为韩文吗?
永生天地 2010-06-24
  • 打赏
  • 举报
回复
对字段可以单独设置 collate

比如

alter table tb alter column columnname varchar(20) collate Chinese_PRC_CI_AS
水族杰纶 2010-06-24
  • 打赏
  • 举报
回复
  --批量修改數據類型
declare tb cursor for
SELECT sql='alter table ['+d.name
+'] alter column ['+a.name+'] n'
+b.name+'('+cast(a.length*2 as varchar)+')'
FROM syscolumns a left join systypes b
on a.xtype=b.xusertype inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
where
b.name in('char','varchar')
and
not exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
))) --主键不能修改
order by d.name,a.name
declare @sql varchar(1000)
open tb
fetch next from tb into @sql
while @@fetch_status = 0
begin
exec(@sql)
fetch next from tb into @sql
end
close tb
deallocate tb
go
水族杰纶 2010-06-24
  • 打赏
  • 举报
回复
--修改排序規則
use master
go
ALTER DATABASE 数据库名 COLLATE 排序规则名
水族杰纶 2010-06-24
  • 打赏
  • 举报
回复
排序規則可以改
但是修改之後
韓文的可能就變成亂碼了
還是徹底修改數據類型吧

22,209

社区成员

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

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