JDBC Изменить схему по умолчанию - PullRequest
0 голосов
/ 08 сентября 2010

Я пытаюсь подключиться к базе данных sql server 2005 через JDBC.

Я получаю сообщение об ошибке:

com.microsoft.sqlserver.jdbc.SQLServerException: отказано в разрешении SELECT для объекта «MyTable», базы данных «MyDatabase», схемы «dbo».'.

Схема, которую я использую для подключения - «MyUser».Как мне подключиться, используя MyUser, а не dbo?

Спасибо!

Ответы [ 2 ]

1 голос
/ 09 сентября 2010

Чтобы прояснить ситуацию: вы подключаетесь к SQL Server, используя user, а не schema. Вы не говорите, к какой версии SQL Server вы подключаетесь, но раньше это было так, что эти две версии были эквивалентны. По состоянию на 2005+, это больше не верно .

dbo - схема по умолчанию (воспринимайте ее как пространство имен); сообщение об ошибке говорит о том, что пользователь , к которому вы подключаетесь (если я правильно понимаю, что MyUser ) не имеет разрешения на SELECT из MyTable таблица, которая часть схемы dbo в MyDatabase база данных.

Первое, что нужно сделать, это подтвердить, имеет ли пользователь, с которым вы соединяетесь, права доступа SELECT для этой таблицы или нет. Во-вторых, если это не так, либо предоставьте MyUser такое разрешение, либо используйте другого пользователя для выполнения инструкции SELECT.

0 голосов
/ 26 января 2012

я обнаружил, что вы должны указать свою схему в ваших POJOS определениях.

В моем случае у меня возникла та же проблема с использованием JPA (сущностей / аннотаций), и я понял, что указаниесвойство схемы в аннотации @Table работает.

, например:

@Table(name = "address", **schema="*dbo*"**, catalog = "petcatalog")

Надеюсь, это вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...