я получил следующий кодOracle подключение и запуск скрипта в C#
using (OracleConnection con = new OracleConnection())
{
con.ConnectionString = My_connection_string;
FileInfo file = new FileInfo(Server.MapPath("~/Scripts/call_proc.sql"));
string script = file.OpenText().ReadToEnd();
con.Open();
OracleCommand cmd = new OracleCommand(script, con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.BindByName = true;
cmd.ExecuteNonQuery();
}
Код call_proc является // возвращает Здравствуйте
set serveroutput on;
begin
test.tmp_test();
end;
Когда я пытаюсь запустить приведенный выше код дает мне следующие ошибки.
ORA-06550: строка 1, столбец 11: PL/SQL: ORA-00922: отсутствует или недействителен опция ORA-06550: строка 1, столбец 7:
_set serveroutput on; _ недействителен для PL/SQL. – Sathya
@Sathya, если я удаляю serveroutput; то я получаю следующую ошибку. ORA-06550: строка 1, столбец 12: PLS-00103: встречается символ «" при ожидании одного из следующих: – user3202862
действительно ли вам нужно использовать файл? Не могли бы вы просто использовать 'OracleCommand' с именем процедуры? Для образца: 'new OracleCommand (« test.temp_test », con);' –