在内存(嵌入式)数据库中配置 SQL Server 以在 Spring 中进行测试
Posted
技术标签:
【中文标题】在内存(嵌入式)数据库中配置 SQL Server 以在 Spring 中进行测试【英文标题】:Configure SQL Server in memory (embedded) database for testing purpose in Spring 【发布时间】:2021-02-11 15:32:52 【问题描述】:如何配置我的 Spring Boot 应用程序,以便在我运行单元测试时它将使用嵌入式 SQL Server 以便可以执行存储过程?
【问题讨论】:
【参考方案1】:使用spring boot jpa
compile('org.springframework.boot:spring-boot-starter-data-jpa')
有一个 application-local.yaml 配置
spring:
datasource:
driverClassName: org.h2.Driver
username: sa
password: password
url: jdbc:h2:mem:testdb;MODE=MSSQLServer;DATABASE_TO_LOWER=TRUE
MODE 可以是任意的,具体取决于您的 dev 或 prod db 来模拟相同的情况。
在 build.gradle 中添加以下内容
bootRun
args = ["--spring.profiles.active=local"]
【讨论】:
你能给配置和所有属性的例子/代码sn-p吗?在应用程序加载期间,我收到程序执行的语法错误。以上模式是否兼容MS sql过程执行? 除此之外,存储过程采用与 ms sql 兼容的语法。错误是:java.lang.IllegalStateException:无法加载 ApplicationContext 原因:org.h2.jdbc.JdbcSQLException:SQL 语句中的语法错误 [42001-148]以上是关于在内存(嵌入式)数据库中配置 SQL Server 以在 Spring 中进行测试的主要内容,如果未能解决你的问题,请参考以下文章
在sqlserver2008企业管理器中批量导入数据时,提示内存不足,然后自动关闭。帮忙看看啥问题?
Tableau Server 中的直接 SQL Server 连接,业务用户没有数据库的读取权限
我可以将 Sql Server CE (3.0) 用作 Windows 应用程序的嵌入式数据库吗?我必须在机器上安装 Sql Server CE 吗?