Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在cx_oracle.connect中指定服务器上的特定数据库_Python_Oracle_Cx Oracle - Fatal编程技术网

Python 如何在cx_oracle.connect中指定服务器上的特定数据库

Python 如何在cx_oracle.connect中指定服务器上的特定数据库,python,oracle,cx-oracle,Python,Oracle,Cx Oracle,我必须连接到Oracle服务器,并且只使用服务器上的特定数据库。我有如下登录信息: hostname = 'xxxxx.yyyy.xxxx.net:1521/{server_name}' user_name= 'user' password = 'password' db_name= 'uuuu' cx_Oracle.connect(user_name, password, hostname) 如何在connect语句的connect语句中指定db_名称 上面允许我查询:select*from

我必须连接到Oracle服务器,并且只使用服务器上的特定数据库。我有如下登录信息:

hostname = 'xxxxx.yyyy.xxxx.net:1521/{server_name}'
user_name= 'user'
password = 'password'
db_name= 'uuuu'
cx_Oracle.connect(user_name, password, hostname)
如何在connect语句的connect语句中指定db_名称

上面允许我查询:
select*from uu.my_table。那么我如何在连接中指定
uuu
,这样我就不必每次都添加

连接字符串末尾的“ocrlpdb1”,这是在dbhost.example.com上运行的数据库的服务名称。我们假设该计算机上的Oracle侦听器使用端口1521(默认值)。

在您的示例中,“uuu”似乎是一个架构名称,而不是数据库名称。不能在连接字符串中指定架构名称(以“uu”用户身份登录除外)。但是,一旦连接到数据库,就可以运行该语句

alter session set current_schema = uuuu;
select * from my_table
这将导致该声明

alter session set current_schema = uuuu;
select * from my_table

在“uuu”模式中查找
my_table
对象,而不是在当前用户的模式中查找它。或者,您可以为
my_table
和其他要引用的“uuu”模式对象创建同义词(public或private)。

然后,我可以肯定地确认我同时拥有服务名称和数据库。因为使用发布的设置运行。允许我查询:“选择*uuu.my_表”。那么,我如何在connect中指定'uuu',这样我就不必每次都添加将连接字符串更改为connect(“uuu”,userpwd,…)