数据库插入汉字问题

数据库插入汉字问题,第1张

1。 修改字段排序规则为"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入语句中,中文字符前加"N",可以插入中文字符。

2。 修改数据库排序规则为"Chinese_PRC_CI_AS",字段保持varchar,SQL语句不变,插入中文失败,查看字段属性后发现,字段排序规则实际上没有变化,还是默认为"SQL_Latin1_General_CP1_CI_AS",再修改字段排序规则,varchar不变,SQL不变,可以插入中文字符。

对 *** 作系统进行备份和还原也许是最常用的 实际业务环境升级后 因多方面原因存在严重问题 这时很可能需要还原到升级前的状态 因此数据库建立备份并能进行还原就很有意义 本文是一个使用C#(Visual Studio )结合Oracle客户端完成还原点的建立与恢复的完整例子

明确还原目标

在建立还原点时 首先要明确还原对象 我们所提及的还原并不是简单地对数据库某个时间点整个数据库的备份与还原 因为在升级后发生的实际业务数据是不能进行还原的

会引起重要问题的主要是程序 在数据库中体现在包 函数和存储过程以及与流程相关的参数 方案等核心字典数据与界面层的一致性 而具体业务中产生的数据如收费项目 收费明细等 是不能进行还原的 明确还原目标后 问题的解决就有方向性了

要建立还原点 首先要了解数据库中关键对象的存放位置 对于包 函数等可以在Oracle的数据库视图user_source中找到

备份 建立还原对象列表

在建立C#的工程之后 今天我们利用配置文件nfig xml 设定了相应的 导出对象 Oracle连接 等内容 如图

这样参数就可以在CONFIG中进行调整了 在进行备份时 我们首先要取得相关的程序列表 下面的语句可以找到我们需要的导出对象

selectdistinctus name us typefromuser_sourceuswhereus typein( PROCEDURE FUNCTION PACKAGE PACKAGEBODY );

可以使用 configurationAppSettings来取得配置文件中的设置 如导出对象 数据库连接 回滚目录 如

ls_configs=(string)(configurationAppSettings GetValue( 导出对象 typeof(string))); 首先针对 导出对象 所定义的串进行拆分 ls_typeinfo存放需要导出的类型 并建立Oracle的数据库连接 再根据需要取得数据查询结果

ls_querysql= SelectdistinctUs Name

us typeFromUser_SourceUswhereus typein( +ls_typeinfo+ )orderbyus Name us Type ;

OracleCommand CommandText=ls_querysql;

OracleCommand CommandType=CommandType Text;

//如何解析mandText的值

OracleDataReadermyReader=OracleCommand ExecuteReader(CommandBehavior CloseConnection);

while(myReader Read())

//使用OracleDateReader前进到下一条记录 通过循环 获得信息列表存放到对象列表listPrcInfo中 它包括两个项目 分别就是 对象名strName 对象类别strType

备份 有进度地产生各个对象体

生成了对象列表后 再根据每个对象名和对象类别来读取内容 相对来说就比较简单 只要使用以下方法

ls_querysql = Select us line us text From User_Source Us where us name = + listPrcInfo[i] strName + and us type= +listPrcInfo[i] strType+ order by us line ;  OracleCommand CommandText = ls_querysql;  OracleCommand CommandType = CommandType Text;//如何解析mandText的值 来读取对象的程序内容 并按照我们在CONFIG中所对应的各种文件扩展名来保存文件:

这个 ALTER DATABASE 语句用来修改数据库的属性,比如改变它的默认排序规则(即 COLLATE)。因此,你可以使用它来设置数据库中所有表都区分大小写。

要使用这个语句,你需要先确保你有足够的权限去修改数据库。然后,你可以在 SQL Server Management Studio 中执行以下步骤:

打开 SQL Server Management Studio 并连接到你想要修改的数据库服务器。

在对象资源管理器中,右键单击你想要修改的数据库,然后选择“属性”。

在“数据库属性”窗口中,选择“排序规则”选项卡。

在“排序规则”下拉列表中,选择“Chinese_PRC_CS_AS”。

单击“确定”按钮以保存更改。

这样,数据库中的所有表都将区分大小写。但是,如果你只想修改某个特定的表,那么你可以在创建表时指定它的排序规则,或者使用 ALTER TABLE 语句来修改表的排序规则。

举个例子,假设你想要修改名为“TBL_ACCOUNT”的表,使其区分大小写,你可以在创建表时指定排序规则:

这个 ALTER DATABASE 语句用来修改数据库的属性,比如改变它的默认排序规则(即 COLLATE)。因此,你可以使用它来设置数据库中所有表都区分大小写。

要使用这个语句,你需要先确保你有足够的权限去修改数据库。然后,你可以在 SQL Server Management Studio 中执行以下步骤:

打开 SQL Server Management Studio 并连接到你想要修改的数据库服务器。

在对象资源管理器中,右键单击你想要修改的数据库,然后选择“属性”。

在“数据库属性”窗口中,选择“排序规则”选项卡。

在“排序规则”下拉列表中,选择“Chinese_PRC_CS_AS”。

单击“确定”按钮以保存更改。

这样,数据库中的所有表都将区分大小写。但是,如果你只想修改某个特定的表,那么你可以在创建表时指定它的排序规则,或者使用 ALTER TABLE 语句来修改表的排序规则。

举个例子,假设你想要修改名为“TBL_ACCOUNT”的表,使其区分大小写,你可以在创建表时指定排序规则:

CREATE TABLE TBL_ACCOUNT (

id INT PRIMARY KEY,

username VARCHAR(255) COLLATE Chinese_PRC_CS_AS,

password VARCHAR(255)

);

或者,如果你已经创建了表,你可以使用 ALTER TABLE 语句来修改表的排序规则:

ALTER TABLE TBL_ACCOUNT

ALTER COLUMN username VARCHAR(255) COLLATE Chinese_PRC_CS_AS;

这样就可以让表“TBL_ACCOUNT”区分大小写了。

以上就是关于数据库插入汉字问题全部的内容,包括:数据库插入汉字问题、C#完成Oracle数据库镜像与还原、SQLserver数据库怎么给指定的表区分大小写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9537284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存