Funkcja set, poprzez DataAccess.Client

0

Łącze się z bazą z poziomu sys_dba za pomocą using Oracle.DataAccess.Client; o ile zwykłe polecenia chodzą typu select/insert etc.

 sql = "SET ECHO ON";//sql = " SET serveroutput on \n";
                command = conn.CreateCommand();
                command.CommandText = sql;
                reader = command.ExecuteReader();

Rzuca wyjątkiem:

{Oracle.DataAccess.Client.OracleException ORA-00922: missing or invalid option w Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
w Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src)
w Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
w Oracle.DataAccess.Client.OracleCommand.ExecuteReader()

Samo polecenie z sys_dba przez sql_plus lub sql_developer śmiga bez zarzutu.

"Data Source=(DESCRIPTION = (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = PCMOJ)(PORT = 1521)) )(CONNECT_DATA = (SERVICE_NAME = XE)) );User Id=SYS;Password=xe588cd686e6f4;Pooling=false;Pooling=false;DBA Privilege=SYSDBA;"

Potrzebny jakiś dodatkowy parametr w connection stringu? Gdzie szukać?

0

SET nie jest poleceniem Oracle, tylko SQL*Plusa. Niektóre narzędzia potrafią je interpretować na sqlplusową modłę (np. SQLDeveloper).
Nigdy w życiu nie pisałem w C#, ani w ogóle w .NECIE, ale tak na logikę to server output powinno się dać włączyć jakąś metodą klasy OracleConnection.

0

Dzieki, śmiga, Niech Bóg wam w bugach wynagrodzi.;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1