我正在尝试使用Microsoft SQL Server 2017数据库启动一个Corda Enterprise 3.2
节点,并且在启动时出现此错误:
com.microsoft.sqlserver.jdbc.SQLServerException:无效的列名'machine_name'。
与CE 3.1
配合正常。
这是我的node.conf
"dataSourceProperties" : {
"dataSource" : {
"user":"<username>",
"password":"<password>",
"url" : "jdbc:sqlserver://<HOST>:<PORT>;encrypt=false;databaseName=corda"
},
"dataSourceClassName" : "com.microsoft.sqlserver.jdbc.SQLServerDataSource"
},
"database" : {
"runMigration" : true,
"schema" : "dbo",
"transactionIsolationLevel" : "READ_COMMITTED"
},
我使用mssql-jdbc-6.2.2.jre8.jar
作为JDBC驱动程序
答案 0 :(得分:1)
这是区分大小写的数据库配置问题。 使用此sql命令解决了:
USE master;
GO
ALTER DATABASE corda
COLLATE French_CI_AS ;
GO
旧值为:French_CS_AS
答案 1 :(得分:0)
您似乎需要运行数据库迁移工具才能从3.1升级到3.2。您已经有了该Jar文件吗?如果这是一个测试环境,并且您不关心保管库中的应用程序数据,则可以始终删除/重新创建corda数据库。重新启动3.2将建立必要的表。如果您需要保留数据,那么数据库迁移工具是您的最佳选择。
https://docs.corda.r3.com/database-management.html?highlight=migration
https://docs.corda.r3.com/database-management.html?highlight=migration#migration-tool