我正在运行Oracle 10g数据库,目前正在用c#编写应用程序以与之交互。
我已经编写了连接数据库所需的内容,并且能够查询它以返回结果。我开始以SYSMAN身份登录,使用System.Data.OracleClient.But关闭并重新启动数据库我需要使用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权限,而且不确定如何检查?
由于
答案 0 :(得分:1)
这篇文章可能很有用:http://docs.oracle.com/html/E15167_01/OracleDatabaseClass.htm#CHDFBHBH
使用OracleDatabase.Shutdown方法并传递OracleDBShutdownMode.Immediate参数