Назад | Перейти на главную страницу

Вызвано: com.microsoft.sqlserver.jdbc.SQLServerException: недопустимое имя объекта 'springbootdb.users'

У меня есть виртуальная машина с базой данных MsSQL. Раньше я использовал базу данных Oracle. Мое приложение вводит некоторые образцы данных при запуске, и я получаю эту ошибку:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'springbootdb.users'.

data.sql

INSERT INTO "springbootdb"."users" (USER_ID, EMAIL, FIRST_NAME, INITIAL_NAME, LAST_NAME, PASSWORD, ROLE, ENABLED, CURRENT_STATUS, POSITION_TITLE) VALUES ('1', 'asdf@asdf.com', 'asdf', 'asdf', 'asdf', '12345', 0, 1, 'In Office', 'Advanced Developer');
INSERT INTO "springbootdb"."users" (USER_ID, EMAIL, FIRST_NAME, INITIAL_NAME, LAST_NAME, PASSWORD, ROLE, ENABLED, CURRENT_STATUS, POSITION_TITLE) VALUES ('2', 'asdf@asdf.com', 'asdf', 'asdf', 'asdf', '12345', 0, 1, 'In Office', 'Associate Developer');
INSERT INTO "springbootdb"."users" (USER_ID, EMAIL, FIRST_NAME, INITIAL_NAME, LAST_NAME, PASSWORD, ROLE, ENABLED, CURRENT_STATUS, POSITION_TITLE) VALUES ('3', 'asdf@asdf.com', 'asdf', 'asdf', 'adsf', '12345', 1, 1, 'In Office', 'Line Manager');

application.properties

# MsSQL Connection
spring.datasource.url=jdbc:sqlserver://11.11.111.1:1433;database=springbootdb;
spring.datasource.username=admin
spring.datasource.password=123!
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.show-sql=true
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.hibernate.ddl-auto=create-drop

Я проверил, что связь действительно есть. Я также могу получить доступ к базе данных из MSQLSMS из учетной записи sql, как показано на рисунке ниже:

Почему я получаю эту ошибку?

Имя таблицы во вставке должно быть springbootdb.dbo.users

используйте схему в своем pojo (объект таблицы)

import javax.persistence.Table;
@Table(schema = "dbo", name = "users")