首页 文章

JDBC更改默认架构

提问于
浏览
0

我正在尝试通过JDBC连接到sql server 2005数据库 .

我收到错误:

com.microsoft.sqlserver.jdbc.SQLServerException:对象'MyTable',数据库'MyDatabase',架构'dbo'上的SELECT权限被拒绝 .

我用来连接的模式是“MyUser” . 如何使用MyUser而不是dbo进行连接?

谢谢!

2 回答

  • -1

    要清理:使用 user 连接到SQL Server,而不是 schema . 你没有't say what version of SQL Server you'重新连接,但过去两者是相同的 . 截至2005年,that is no longer true .

    dbo 是默认模式(将其视为命名空间);错误信息告诉你的是 user 你正在连接(如果我理解正确,那是MyUser)没有来自MyTable表 SELECT 的权限,这是dbo架构 in 的MyDatabase数据库的 part .

    首先要确认您正在连接的用户是否对该表具有SELECT权限 . 要做的第二件事是,如果没有,要么为MyUser提供权限,要么使用其他用户来执行SELECT语句 .

  • 1

    我发现你必须在 POJOS 定义中指定你的模式 .

    在我的情况下,我在使用JPA(实体/注释)时遇到了同样的问题,我意识到在 @Table 注释中指定schema属性是有效的 .

    例如:

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

    我希望这可以帮助你 .

相关问题