예제 #1
0
        public override IConnectionAdapter CreateConnectionAdapter()
        {
            var connectionAdapter = new OracleConnectionAdapter(this);

            _connectionAdapters.Add(connectionAdapter);
            return(connectionAdapter);
        }
예제 #2
0
        public override Task MapReaderData(OracleDataReader reader, CancellationToken cancellationToken)
        {
            var columnNames = OracleConnectionAdapter.GetColumnHeadersFromReader(reader)
                              .Select(h => $"\"{h.Name}\"");

            _columns.AddRange(columnNames);
            return(Task.CompletedTask);
        }
예제 #3
0
        public OracleDebuggerSession(OracleConnectionAdapter connectionAdapter, OracleCommand debuggedCommand, StatementExecutionBatchResult executionResult)
        {
            _connectionAdapter = connectionAdapter;
            ExecutionResult    = executionResult;
            DebuggedCommand    = debuggedCommand;
            var debuggedConnection = DebuggedCommand.Connection;

            _debuggedSessionCommand            = debuggedConnection.CreateCommand();
            _debuggedSessionCommand.BindByName = true;
            _debuggerConnection                = (OracleConnection)debuggedConnection.Clone();
            _debuggerSessionCommand            = _debuggerConnection.CreateCommand();
            _debuggerSessionCommand.BindByName = true;

            _sources.Add(PlSqlBlockTitle, debuggedCommand.CommandText.Trim());
        }
예제 #4
0
 internal void RemoveConnectionAdapter(OracleConnectionAdapter connectionAdapter)
 {
     _connectionAdapters.Remove(connectionAdapter);
 }