我正在从我的Java代码执行以下查询:
SELECT * FROM JSTORE.EMPLOYEE
其中'JSTORE'是架构名称,'EMPLOYEE'是表格。
我可以设置模式名称以用作JSTORE,这样我就不需要在查询中指定它吗?我正在使用Oracle数据库。
答案 0 :(得分:2)
如果该模式名称与应用程序用于连接数据库的用户名相同,则无需指定模式名称(通过Java或SQL * Lite)。
如果模式名称因应用程序而异,那么我可能会在SQL中出现模式名称以避免错误。如果您在连接池中更改了SESSION,请考虑可能出现的问题。它仍然是可配置的,并且可以使用一些Java代码自动生成过程来为您生成SQL(无论如何您都应该使用它)。
答案 1 :(得分:2)
您可以执行此SQL:
ALTER SESSION SET CURRENT_SCHEMA=JSTORE
请注意,您需要为每个现在建立的连接执行此操作(一个Oracle会话==一个Java连接对象)。
使用池化连接时要小心;如果它们需要不同的模式,则需要在将它们返回池之前恢复默认模式。