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

Posted

技术标签:

【中文标题】从 c# 执行写为 .sql 文件(例如:spool.sql)的 oracle spool 命令,就像使用 OracleCommand 执行任何 oracle 查询一样【英文标题】:Executing oracle spool command which is written as a .sql file(eg:spool.sql) from c# just like executing any oracle query using OracleCommand 【发布时间】:2013-09-04 18:52:15 【问题描述】:

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

set pagesize,
set linesize, 
blah, 
blah,
blah,

然后是一个假脱机命令,它将创建一个文件。

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

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

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

【问题讨论】:

【参考方案1】:

你可以试试这样的:

  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 无关。 但是我见过很少的代码sn-ps虽然他们没有工作使用进程对象来调用plsql.exe然后执行命令?

以上是关于从 c# 执行写为 .sql 文件(例如:spool.sql)的 oracle spool 命令,就像使用 OracleCommand 执行任何 oracle 查询一样的主要内容,如果未能解决你的问题,请参考以下文章

如何在 sql*plus 中修复我的假脱机 csv 文件中的格式

C# 迁移自定义 SELECT SQL 脚本

如何从 ASP.net C# 中的字符串中提取 C#/PHP/Code/SQL

如何从 C# 测试 sql 查询执行? [复制]

如何使用 C# 执行 .SQL 脚本文件

VS2010 - 从 C# 执行各种 sql 管理任务的当前选择库是啥