Sql server 如何在MS Server中将maven插件与指定的架构进行集成
这是我对liquibase maven插件的配置:Sql server 如何在MS Server中将maven插件与指定的架构进行集成,sql-server,liquibase,Sql Server,Liquibase,这是我对liquibase maven插件的配置: <plugin> <groupId>org.liquibase</groupId> <artifactId>liquibase-maven-plugin</artifactId> <version>3.6.3</version> <executions> <execution>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.6.3</version>
<executions>
<execution>
<goals>
<goal>status</goal>
</goals>
</execution>
</executions>
<configuration>
<changeLogFile>src/main/resources/db/changelog/db-changelog-master.xml</changeLogFile>
<driver>${liquibase.driver}</driver>
<username>${liquibase.username}</username>
<password>${liquibase.password}</password>
<url>${liquibase.url}</url>
<referenceDriver>${liquibase.driver}</referenceDriver>
<referenceUsername>${liquibase.username}</referenceUsername>
<referencePassword>${liquibase.password}</referencePassword>
<referenceUrl>${liquibase.url}</referenceUrl>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
</configuration>
<dependencies>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.4.0.jre8</version>
</dependency>
</dependencies>
</plugin>
架构是使用以下脚本创建的:
IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'eBatch_Retry'))
BEGIN
EXEC ('CREATE SCHEMA [eBatch_Retry]')
END
我正在使用的用户被授予数据库中的所有内容。这似乎是许可问题,我对此感到非常困惑
有什么办法可以解决我的问题吗?解决方案是创建数据库,因为模式有不同的含义。在应用下一条指令后,我的liquibase管理了其中的默认模式(dbo) 例如:
<liquibase.url>jdbc:sqlserver://localhost:1433;DatabaseName=eBatch_Retry</liquibase.url>
jdbc:sqlserver://localhost:1433;DatabaseName=eBatch\u重试
平心而论,MsSqlServer对模式的“使用”更像是RDBMS对“模式”的正确整体使用。如果您曾经使用过多个RDBMS,那么Oracle的这条评论就说明了问题。“此语句实际上并不创建架构。”
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.6.3:migrate (default-cli) on project dc-database: Error setting up or running Liquibase: liquibase.exception.DatabaseException: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "eBatch_Retry" requested by the login. The login failed. ClientConnectionId:0a136358-788a-4b78-b779-76175467a832 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'eBatch_Retry'))
BEGIN
EXEC ('CREATE SCHEMA [eBatch_Retry]')
END
CREATE DATABASE eBatch_Retry;
<liquibase.url>jdbc:sqlserver://localhost:1433;DatabaseName=eBatch_Retry</liquibase.url>