Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
我想使用c#windows窗体应用程序将数据库备份到我想要的位置_C#_Oracle - Fatal编程技术网

我想使用c#windows窗体应用程序将数据库备份到我想要的位置

我想使用c#windows窗体应用程序将数据库备份到我想要的位置,c#,oracle,C#,Oracle,我正在尝试将名为“XE”的Oracle数据库以及所有表备份到我想要的位置上的“.bak”文件中。我正在使用OracleClient库 我用于连接的特定类: OracleConnection OracleCommand 但我一直在想: System.Data.OracleClient.OracleException:'ORA-00900:无效的SQL语句 " 不知道我错在哪里:'( 也尝试使用OleDBConnection和OleDBCommand,但出现相同错误:'( 我得到的异常:System

我正在尝试将名为“XE”的Oracle数据库以及所有表备份到我想要的位置上的“.bak”文件中。我正在使用OracleClient库

我用于连接的特定类: OracleConnection OracleCommand

但我一直在想:

System.Data.OracleClient.OracleException:'ORA-00900:无效的SQL语句 "

不知道我错在哪里:'(

也尝试使用OleDBConnection和OleDBCommand,但出现相同错误:'(

我得到的异常:System.Data.OracleClient.OracleException:'ORA-00900:无效的SQL语句 "

引发异常:System.Data.OracleClient.dll中的“System.Data.OracleClient.OracleException” System.Transactions Critical:0:未处理的ExceptionOnKron.exeSystem.Data.OracleClient.OracleException,System.Data.OracleClient,版本=4.0.0.0,区域性=neutral,PublicKeyToken=b77a5c561934e089ORA-00900:无效的SQL语句
在System.Data.OracleClient.OracleConnection.CheckError(OCIRorHandle errorHandle,Int32 rc)

1)调试应用程序2)获取生成的查询3)在Oracle SQL developer中运行我如何获取生成的查询?在visual studio?调试模式下或只需打印:
cmd.CommandText
;它已生成以下命令:CommandText“备份数据库XE到磁盘='C:\\Users\\UnKnown\\Desktop\\lul.bak'”string您的目标是什么命令<代码>备份数据库在Oracle中不是SQL命令,因此ORA-0900.1)调试应用程序2)抓取生成的查询3)在Oracle SQL developer中运行我如何抓取生成的查询?在visual studio?调试模式下或只需打印:
cmd.CommandText
;它已生成以下命令:CommandText“备份数据库XE到磁盘='C:\\Users\\UnKnown\\Desktop\\lul.bak'”string您的目标是什么命令
BACKUP DATABASE
在Oracle中不是SQL命令,因此使用ORA-0900。
 OracleCommand cmd = new OracleCommand();

 OracleConnection con = new OracleConnection("Data Source=XE;User ID=system;password=123;Unicode=true");
 cmd.Connection = con;

        string databaseName = null;
        cmd.CommandText = "select * from global_name";

        con.Open();
        DataTable dt = new DataTable();
        dt.Load(cmd.ExecuteReader());

        foreach(DataRow row in dt.Rows) {
            databaseName = Convert.ToString(row[0]);
            MessageBox.Show("" + databaseName);
        }
        con.Close();

        cmd.CommandText = "backup DATABASE " + databaseName + " TO DISK = '" + back_path.Text + "\\" + back_file_name.Text + ".bak'";
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();