.net - Oracle SQLPLUS 是否有 .Net 接口(interface)?

标签 .net oracle automation sqlplus

我正在开发一些自动化来控制 SQL 脚本的执行。脚本通过 运行。 SQL*PLUS 并包含 PL/SQL 调用它们(因此我无法通过 ODP.NET 运行它们)。

我想知道是否有 .NET 的接口(interface)SQL*PLUS ?如果有,有人用过吗?

最佳答案

您可以使用以下代码在 C# 中执行此操作:

public int execString(string scriptFileName)
{
   int exitCode;
   ProcessStartInfo processInfo;
   Process process;
   int timeout = 5000;

   processInfo = new ProcessStartInfo("sqlplus.exe", "@" + scriptFileName);
   processInfo.CreateNoWindow = true;
   processInfo.UseShellExecute = false;
   process = process.Start(ProcessInfo);
   process.WaitForExit(timeout);
   exitCode = process.ExitCode;
   process.Close();

   return exitCode;
}

在 VB.NET 中,您可以在框架中使用相同的 API 完成完全相同的事情,但我对 VB.NET 语法知之甚少。

您还可以尝试检查 SQL/Plus DLL,看看是否可以从中获得一些东西。但我认为,即使它应该是一种更快(性能方面)的方法,它也会比使用我建议的方法复杂得多。

关于.net - Oracle SQLPLUS 是否有 .Net 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/657623/

相关文章:

c# - 向用户添加任务 Outlook

c# - .NET 网络 API : Set a different Refresh Token Expiration time for different users

c# - 为什么我的 for-each 只抛出一个异常?

sql - OCI : ERROR while executing CREATE and DROP table

oracle - 尝试使用DBMS_DDL.ALTER_COMPILE时出现ORA-20000错误

testing - 如何将数据从一些 json 文件传递​​到 Gherkin 特征文件

.net - 我的数据库可能会在大约 10 天内变得不可用。有时1秒。如何防止 Entity Framework 连接错误?

python - 无法在 docker 镜像中导入 cx_Oracle

javascript - 中继器中的一次性数据绑定(bind)

c# - 在白色中按类查找桌面窗口