当我连接到Oracle数据库(11g)时,必须使用以下信息:
架构名称(用户名)、密码、服务名称(数据库名称?)是的。
连接字符串看起来像“schemaname/pwd@host:1521/servicename”。
我知道这个模式和user几乎是一样的。包含所有对象(如表、索引、视图等)的集合的架构归用户所有。
我的问题是,如果架构已经包含表和其他对象,为什么在尝试连接时必须指定服务名称(在客户端工具或tns文件中的配置中)
因为使用schema_name/password,我们可以找到所需的各个表,这里service_name的角色是什么?
最佳答案
服务是同一台计算机/服务器/计算机上不同数据库之间的连接不同的方式之一。在理论上,您不能提这个,仍然可以使用正确的数据库(如果只有一个数据库),但是在数据库连接的上下文中,需要明确地给出所有参数。我相信这是因为安全和双重检查。
请注意,还提供了端口号,这是不同于数据库的另一种方式。但是,要知道不同的数据库可以通过同一个端口访问。
服务通常是一个连接到的实际数据库实例的提示。
关于database - oracle中schema和service_name之间的关系是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27143126/