123
返回列表 发新帖
楼主: zy688

[精华] 急:数据库无法输入简单体字在线等候中.....

[复制链接]
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
21#
发表于 2002-8-28 16:10 | 只看该作者
好像叫這樣的名字吧,我已經好久沒看了,
名字不一定正確,我現在主要搞Oracle的.

SQLServer7關聯資料庫系統管理與開發
SQLServer7編程技術內幕
SQLServer6.5 Transact-SQL參考手冊

可能簡體版的也有.

使用道具 举报

回复
论坛徽章:
0
22#
 楼主| 发表于 2002-8-28 16:13 | 只看该作者
感谢 zhuzhichao !

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
23#
发表于 2002-8-28 16:15 | 只看该作者
呵呵,不客氣啦.

使用道具 举报

回复
论坛徽章:
9
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33九尾狐狸
日期:2006-04-12 16:15:24铁扇公主
日期:2006-04-12 17:55:26会员2006贡献徽章
日期:2006-04-17 13:46:342008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:猴
日期:2008-12-08 12:50:30八级虎吧徽章
日期:2008-12-12 15:53:222009新春纪念徽章
日期:2009-01-04 14:52:28
24#
发表于 2002-8-28 17:17 | 只看该作者
最初由 zhuzhichao 发布
[B]為了更好的支持 Unicode 得處理方式, SQL7 建議:在安裝過程中,

1: code page 選擇 cp936 (這樣可以兼容程序中insert, update sql沒帶 N的部分 如果code page 是cp950 或者 cp1252,則程式中不帶N的insert 和 update 會造成 存入db中的資料不是unicode.

2: 如果你在安裝SQL7得過程中code page沒選擇cp936,而是使用了cp950或者cp1252, 那麼請確保你程式中的insert 和update的語句都有N,以保證這些程式插入資料庫的漢字是unicode.

3.如果code page選擇的是cp1252,那麼從code page為cp936或者cp950的DB中將數據導入,不一定確保成功. [/B]


问一下,在SQL 2000里,这些codepage分别是对应者那一个,能否详细说一下,谢了

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
25#
发表于 2002-8-28 17:29 | 只看该作者
936  Chinese_PRC_Stroke  中文 (中華人民共和國)
950  Chinese_Taiwan_Stroke  中文 (台灣)
1252  Latin1_General   英文

使用道具 举报

回复
论坛徽章:
9
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33九尾狐狸
日期:2006-04-12 16:15:24铁扇公主
日期:2006-04-12 17:55:26会员2006贡献徽章
日期:2006-04-17 13:46:342008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:猴
日期:2008-12-08 12:50:30八级虎吧徽章
日期:2008-12-12 15:53:222009新春纪念徽章
日期:2009-01-04 14:52:28
26#
发表于 2002-8-28 17:35 | 只看该作者
老大,谢了

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
27#
发表于 2002-8-28 17:41 | 只看该作者
baresi,不客氣,最近沒去csdn?

使用道具 举报

回复
论坛徽章:
9
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33九尾狐狸
日期:2006-04-12 16:15:24铁扇公主
日期:2006-04-12 17:55:26会员2006贡献徽章
日期:2006-04-17 13:46:342008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:猴
日期:2008-12-08 12:50:30八级虎吧徽章
日期:2008-12-12 15:53:222009新春纪念徽章
日期:2009-01-04 14:52:28
28#
发表于 2002-8-28 17:55 | 只看该作者
在那边潜水:)

使用道具 举报

回复
论坛徽章:
22
授权会员
日期:2005-10-30 17:05:332012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:36
29#
发表于 2003-7-22 14:54 | 只看该作者
最初由 zhuzhichao 发布
[B]首先知道有哪些表需要改,然後執行:

alter table 你的表名 alter column 需要改的字段名 nchar(長度)    --注意這個長度不得下於原來長度的一半 [/B]





对于char和varchar可以通过alter table语句修改;


但对于text修改有另外的方式:
在EM里通过对表→右键→design table更改数据类型。

在QA里这样改,我跟踪的结果:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Tmp_att --临时表(Tmp_att)
        (
        zzx ntext NULL  --欲修改的字段(zzx)
        )  ON [PRIMARY]
         TEXTIMAGE_ON [PRIMARY]
GO
IF EXISTS(SELECT * FROM dbo.att) --欲修改的表(dbo.att)
         EXEC('INSERT INTO dbo.Tmp_att (zzx)
                SELECT zzx FROM dbo.att TABLOCKX')
GO
DROP TABLE dbo.att
GO
EXECUTE sp_rename N'dbo.Tmp_att', N'att', 'OBJECT'
GO
COMMIT

希望zhuzhichao老大不要见怪。

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2004-3-26 10:52 | 只看该作者
/*--将所有的表中,数值类型由char,varchar改为nchar,nvarchar  

--*/

/*--调用示例:
        exec p_set
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_set]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_set]
GO

--用下面的存储过程
create procedure p_set
as
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

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表