PD设置生成SQL column不含有collate chinese_prc_ci_as
使用PD导出sql脚本。
没有设置PD时导出的sql脚本为:
- create table dbo.t_call_note (
- id int identity(100,1),
- caller varchar(32) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- called varchar(32) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- ring_time char(19) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- talk_time char(19) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS null,
- end_time char(19) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS null,
- user_no varchar(50) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- user_name varchar(50) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- talk_long varchar(50) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS null,
- call_Id varchar(50) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- user_pk int collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- create_time char(19) collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,
- constraint PK_T_CALL_INFO primary key (id)
- on "PRIMARY"
- )
- on "PRIMARY"
- go
上面的sql包含collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null,这是一种排序方式。
但是在执行sql时就会出现错误.如果column为int时就会报错。那么我们如果如下设置,问题不再是问题了!哈哈
1.点击:工具栏-》database-》edit current DBMS
2.选择数据源(以SqlServer2005为例)
Microsoft SQLServer2005\Script\Objects\Column\Add
右边的Values值为:
- %20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):[%.L:DATATYPE%=xml?xml[%XMLSchemaCollection%?([%ContentType% ]%XMLSchemaCollection.GeneratedName%): ]:%20:DATATYPE%][.Z:[ collate %ExtCollation%][%ExtRowGuidCol%? RowGuidCol][%IDENTITY%? %IDENTITY%[[(%ExtIdentitySeedInc%)][%ExtIdtNotForReplication%? not for replication]]:[%ExtNullConstName%? constraint %ExtNullConstName%][ %NULL%][ %NOTNULL%]][[%ExtDeftConstName%? constraint %ExtDeftConstName%] default %DEFAULT%]]
- [%CONSTDEFN%]]
修改为:
- %20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):[%.L:DATATYPE%=xml?xml[%XMLSchemaCollection%?([%ContentType% ]%XMLSchemaCollection.GeneratedName%): ]:%20:DATATYPE%][%ExtRowGuidCol%? RowGuidCol][%IDENTITY%? %IDENTITY%[[(%ExtIdentitySeedInc%)][%ExtIdtNotForReplication%? not for replication]]:[%ExtNullConstName%? constraint %ExtNullConstName%][ %NULL%][ %NOTNULL%]][[%ExtDeftConstName%? constraint %ExtDeftConstName%] default %DEFAULT%]
- [%CONSTDEFN%]]
修改的内容就是去掉:[.Z:[ collate %ExtCollation%]以及最后一个"]"
再次导出sql脚本就不会出现collate Chinese_PRC_Stroke_90_CS_AS_KS_WS not null.
如下:
- create table dbo.t_call_note (
- id int identity(100,1),
- caller varchar(32) not null,
- called varchar(32) not null,
- ring_time char(19) not null,
- talk_time char(19) null,
- end_time char(19) null,
- user_no varchar(50) not null,
- user_name varchar(50) not null,
- talk_long varchar(50) null,
- call_Id varchar(50) not null,
- user_pk int not null,
- create_time char(19) not null,
- constraint PK_T_CALL_INFO primary key (id)
- on "PRIMARY"
- )
- on "PRIMARY"
- go
希望能有更好的办法。这只是小弟不才自己找到的解决办法。希望对大家有所帮助

浙公网安备 33010602011771号