我创建了一个名为“movie_db”的数据库,将默认模式设置为 APP。然后创建了一个名为“USERS”的示例表。
我与数据库的连接如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="url" value="jdbc:derby://localhost:1527/movie_db"/>
<property name="username" value="root"/>
<property name="password" value="pass"/>
</bean>
现在我想编写一些测试并尝试执行以下查询:
SELECT * FROM USERS;
我得到什么:
java.sql.SQLSyntaxErrorException: Table/View 'USERS' does not exist.
当我准确指定我正在使用的架构时:
SELECT * FROM APP.USERS
一切正常。
如何在查询中省略架构名称?
更新: 就像布莱恩说的那样,我用我的默认模式的名称创建了一个用户,并使用这个登录名进行授权。这是在查询中省略模式名称的最简单方法。但是,如果我想使用多个模式,唯一的方法是显式设置模式。