[英]JDBC Change Default Schema
我正在嘗試通過JDBC連接到sql server 2005數據庫。
我得到錯誤:
com.microsoft.sqlserver.jdbc.SQLServerException:對對象“ MyTable”,數據庫“ MyDatabase”,架構“ dbo”的SELECT權限被拒絕。
我用來連接的架構是“ MyUser”。 如何使用MyUser而不是dbo進行連接?
謝謝!
要清除問題:您使用user
而不是schema
連接到SQL Server。 您沒有說要連接到哪個版本的SQL Server,但是過去這兩個版本是等效的。 從2005年起, 這種說法不再成立 。
dbo
是默認模式(將其視為名稱空間); 什么錯誤信息,告訴你的就是你與連接用戶 (如果我理解正確的話,這是MYUSER)沒有權限來SELECT
從MyTable表,這是在 MyDatabase的數據庫中的dbo架構的一部分 。
首先要做的是確認與之連接的用戶是否對該表具有SELECT權限。 第二件事要做的是,如果沒有,請給MyUser那個權限,或使用其他用戶執行SELECT語句。
我發現您必須在POJOS定義中指定架構。
以我為例,使用JPA(實體/注釋)遇到了同樣的麻煩,並且我意識到在@Table
注釋中指定schema屬性是@Table
。
例如:
@Table(name = "address", **schema="*dbo*"**, catalog = "petcatalog")
我希望這可以幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.