com.microsoft.sqlserver.jdbc.SQLServerException:带有CE 3.2 SQL Server的无效列名'machine_name'

时间:2018-11-29 17:15:59

标签: corda

我正在尝试使用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驱动程序

2 个答案:

答案 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