Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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#执行oracle spool命令,该命令被写成.sql文件(例如:spool.sql),就像使用OracleCommand执行任何oracle查询一样_C#_Asp.net_Oracle_Plsql - Fatal编程技术网

从c#执行oracle spool命令,该命令被写成.sql文件(例如:spool.sql),就像使用OracleCommand执行任何oracle查询一样

从c#执行oracle spool命令,该命令被写成.sql文件(例如:spool.sql),就像使用OracleCommand执行任何oracle查询一样,c#,asp.net,oracle,plsql,C#,Asp.net,Oracle,Plsql,我有一个文本文件,比如“createfeed.sql”,其中包含pl/sql中使用的set命令,如: set pagesize, set linesize, blah, blah, blah, 然后是一个spool命令,该命令将创建一个文件 所以我想从C#执行这个createfeed.sql。当我尝试将文件名作为OracleCommand参数时,它给出的是错误,因为它没有这样做 那么,有没有更好的方法在C#中执行这个createfeed.sql脚本呢 我发现的一种方法是使用“进程”启动“p

我有一个文本文件,比如“createfeed.sql”,其中包含pl/sql中使用的
set
命令,如:

set pagesize,
set linesize, 
blah, 
blah,
blah,
然后是一个spool命令,该命令将创建一个文件

所以我想从C#执行这个createfeed.sql。当我尝试将文件名作为OracleCommand参数时,它给出的是错误,因为它没有这样做

那么,有没有更好的方法在C#中执行这个createfeed.sql脚本呢


我发现的一种方法是使用“进程”启动“pl/sql”,然后执行脚本,但我无法成功执行脚本。

您可以尝试以下方法:

  string myCommand = PSQLCommand;
  //This would be the location of your file
  string myArguments = "PSQLArugments";
    Process.Start(myCommand, myArguments);

So your command would look like psql.exe \i "Path of createfeed.sql"
myCommand would = psql.exe (the full path to your executable)
myArguments = @"\i \pathToCreateFeed.sql"

psql.exe
是PostgreSQL的前端,与Oracle无关。但是我看到了一些代码片段,尽管它们不工作,但它们使用process object调用plsql.exe,然后执行命令?