【问题标题】:Shutting down oracle database from c# using Oracle.DataAccess使用 Oracle.DataAccess 从 c# 关闭 oracle 数据库
【发布时间】:2014-01-04 23:45:15
【问题描述】:

我正在运行一个 Oracle 10g 数据库,并且目前正在用 c# 编写一个应用程序来与之交互。

我已经编写了连接数据库所需的内容,并且能够查询它以返回结果。我首先使用 System.Data.OracleClient 以 SYSMAN 身份登录。但是为了关闭并重新启动数据库,我需要使用 SYSDBA 权限登录(如果我错了,请纠正我)因为我做不到使用 System.Data.OracleClient 我现在使用 ODP,Oracle.DataAccess。

我的问题是我正在尝试运行命令“立即关机”,但出现错误:

Oracle.DataAccess.Client.OracleException ORA-00900:无效的 SQL 语句

关于我需要改变什么的任何想法,以下是我用来执行查询的代码。

OracleConnection conn = new OracleConnection(
"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=smile)(PORT=1521)"+
"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MOUTH.smile)));"+
"User id=SYSMAN;Password=thepassword;DBA PRIVILEGE=SYSDBA";

int value;
OracleCommand cmd = new OracleCommand("shutdown immediate", conn);
value = cmd.ExecuteNonQuery();

我知道它连接正常,因为我已经查询了数据库并得到了结果,但不确定我是否确实拥有 SYSDBA 权限,不知道如何检查?

谢谢

【问题讨论】:

    标签: c# oracle


    【解决方案1】:

    这篇文章可能有用:http://docs.oracle.com/html/E15167_01/OracleDatabaseClass.htm#CHDFBHBH

    使用 OracleDatabase.Shutdown 方法并传递 OracleDBShutdownMode.Immediate 参数

    【讨论】:

      猜你喜欢
      • 2018-01-26
      • 1970-01-01
      • 2017-04-05
      • 2020-05-24
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多