前段时间中文版SQL Server环境下安装CR。
整个过程略过不提,中间有一个错误有些措手不及。特此记录。
image.png
安装Log内容如下:
SEVERE 19-12-26 下午2:29: liquibase: liquibase/changelog-master.xml: liquibase/11.0/activities.xml::1::Automation Anywhere: Change Set liquibase/11.0/activities.xml::1::Automation Anywhere failed. Error: 由于表 'JOBEXECUTIONS' 中不存在列 'id',ALTER TABLE ALTER COLUMN 失败。 [Failed SQL: ALTER TABLE [dbo].[JOBEXECUTIONS] ALTER COLUMN [id] [bigint]]
INFO 19-12-26 下午2:29: liquibase: liquibase/11.0/activities.xml::1::Automation Anywhere: Successfully released change log lock
Unexpected error running Liquibase: 由于表 'JOBEXECUTIONS' 中不存在列 'id',ALTER TABLE ALTER COLUMN 失败。 [Failed SQL: ALTER TABLE [dbo].[JOBEXECUTIONS] ALTER COLUMN [id] [bigint]]
SEVERE 19-12-26 下午2:29: liquibase: liquibase/11.0/activities.xml::1::Automation Anywhere: 由于表 'JOBEXECUTIONS' 中不存在列 'id',ALTER TABLE ALTER COLUMN 失败。 [Failed SQL: ALTER TABLE [dbo].[JOBEXECUTIONS] ALTER COLUMN [id] [bigint]]
liquibase.exception.MigrationFailedException: Migration failed for change set liquibase/11.0/activities.xml::1::Automation Anywhere:
Reason: liquibase.exception.DatabaseException: 由于表 'JOBEXECUTIONS' 中不存在列 'id',ALTER TABLE ALTER COLUMN 失败。 [Failed SQL: ALTER TABLE [dbo].[JOBEXECUTIONS] ALTER COLUMN [id] [bigint]]
at liquibase.changelog.ChangeSet.execute(ChangeSet.java:619)
at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:51)
at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:79)
at liquibase.Liquibase.update(Liquibase.java:214)
at liquibase.Liquibase.update(Liquibase.java:192)
at liquibase.integration.commandline.Main.doMigration(Main.java:1130)
at liquibase.integration.commandline.Main.run(Main.java:188)
at liquibase.integration.commandline.Main.main(Main.java:103)
at com.automationanywhere.db.cmdline.LiquibaseMain.main(LiquibaseMain.java:57)
at com.automationanywhere.boot.App.main(App.java:26)
这个错误的原因是SQL Server 2014中文版的默认排序规则为Chinese_PRC_Bin。
多年的印象里我写sql很少关心大小写,不巧这个排序规则强制区分大小写。
临时解决办法是,手动创建CRDB_NEW和Bot Insight并且改变默认排序规则为Chinese_PRC_CI_AS。
这个操作的前提条件是安装SQL Server Management Studio。
选择相应的DB,再修改。
通过脚本修改也可以,如:
ALTER DATABASE [db01] COLLATE Chinese_PRC_CI_AS
涉及到的数据库数量有些多,所以如果能重来的话我希望下次开始安装SQL Server时预先选择排序规则。。。
其他参照1
Update
网友评论