Oracle 连接 URL 中的默认架构

Default Schema in Oracle Connection URL(Oracle 连接 URL 中的默认架构)
本文介绍了Oracle 连接 URL 中的默认架构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 Oracle Connection URL

jdbc:oracle:thin:@<server>:<port1521>:<sid>

我的示例 SQL 语句:

My sample SQL statement:

select monkey_name from animals.monkey

我需要查询没有模式前缀animals.的数据库,即当我运行这个语句时

I need to query database without schema prefix animals. i.e. when I run this statement

select monkey_name from monkey

默认使用animals模式.

我需要在上面的连接URL中指定什么才能达到这种效果?

What do I need to specify in connection URL above get such effect?

谢谢.

推荐答案

您不能在连接 URL 中放置任何内容.

You can't put anything in the connection URL.

在 Oracle 中,每个用户都有自己的架构(即使不包含任何对象),这是他们的默认架构.登录/连接后,他们可以使用

In Oracle each user has their own schema (even if doesn't contain any objects) and that is their default schema. Once logged in/connected, they can change their default schema with an

ALTER SESSION SET CURRENT_SCHEMA=animals

所以你需要在连接后做额外的声明.可以在用户和/或数据库上设置一个登录触发器,在他们登录时运行该触发器.我个人更喜欢在应用程序连接时使用显式语句.

So you'd need to do the extra statement after connecting. It is possible to have a logon trigger on the user and/or database that will run this when they log in. I'd personally prefer an explicit statement when an application connects.

这篇关于Oracle 连接 URL 中的默认架构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

SQL to Generate Periodic Snapshots from Transactions Table(用于从事务表生成定期快照的SQL)
MyBatis support for multiple databases(MyBatis支持多个数据库)
Oracle 12c SQL: Missing column Headers in result(Oracle 12c SQL:结果中缺少列标题)
SQL query to find the number of customers who shopped for 3 consecutive days in month of January 2020(查询2020年1月连续购物3天的客户数量)
How to get top 10 data weekly (This week, Previous week, Last month, 2 months ago, 3 month ago)(如何每周获取前十大数据(本周、前一周、上个月、2个月前、3个月前))
Select the latest record for an Id per day - Oracle pl sql(选择每天ID的最新记录-Oracle pl SQL)