相关疑难解决方法(0)

检查oracle sid和数据库名称

我想检查SID和当前数据库名称.

我正在使用以下查询来检查oracle SID

select instance from v$thread;
Run Code Online (Sandbox Code Playgroud)

但表或视图不存在错误即将到来.

我正在使用以下查询来检查当前数据库名称

select name from v$database;
Run Code Online (Sandbox Code Playgroud)

但表或视图不存在错误即将到来.

对上述两个问题有什么想法吗?

oracle oracle10g

104
推荐指数
5
解决办法
63万
查看次数

在连接字符串上使用SID而不是服务名时,cx_Oracle不会连接

我有一个看起来像这样的连接字符串

con_str = "myuser/mypass@oracle.sub.example.com:1521/ora1"
Run Code Online (Sandbox Code Playgroud)

ora1我的数据库的SID 在哪里.在SQL Developer中使用此信息工作正常,这意味着我可以毫无问题地连接和查询.

但是,如果我尝试使用此字符串连接到Oracle,则会失败.

cx_Oracle.connect(con_str)

DatabaseError:  ORA-12514:  TNS:listener  does  not  currently  know  of  service  requested  in  connect  descriptor
Run Code Online (Sandbox Code Playgroud)

ora1但是,如果是服务名称,则此连接字符串格式有效.

我看到其他问题似乎与我的问题相反(它适用于SID,但不适用于服务名称)

使用cx_Oracle,SID而不是服务名称连接到Oracle的正确方法是什么?如何在不调整TNSNAMES.ORA文件的情况下执行此操作?我的应用程序在内部分发给许多用户,并且TNSNAMES在处理没有Windows机器管理员权限的用户时,对文件进行更改并不理想.此外,当我使用服务名称时,我根本不需要触摸此文件,并希望它保持这种方式.

python oracle cx-oracle python-2.7

31
推荐指数
2
解决办法
3万
查看次数

标签 统计

oracle ×2

cx-oracle ×1

oracle10g ×1

python ×1

python-2.7 ×1