|
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Reflection;
namespace Harlinn.Oracle
{
public class ODEConnection : IDbConnection
{
DbConnection connection;
public ODEConnection(DbConnection con)
{
connection = con;
}
~ODEConnection()
{
Dispose(false);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (connection != null)
{
var con = connection;
connection = null;
con.Dispose();
}
}
ODEConnectionHelper Helper
{
get
{
return ODEConnectionHelper.Instance;
}
}
public string ActionName
{
set
{
Helper.SetActionName(this, value);
}
}
public string ClientId
{
set
{
Helper.SetClientId(this, value);
}
}
public string ClientInfo
{
set
{
Helper.SetClientInfo(this, value);
}
}
internal DbConnection GetConnection()
{
return connection;
}
IDbTransaction IDbConnection.BeginTransaction(IsolationLevel il)
{
return BeginTransaction(il);
}
public ODETransaction BeginTransaction(IsolationLevel il)
{
ODETransaction result = new ODETransaction(this, connection.BeginTransaction(il));
return result;
}
IDbTransaction IDbConnection.BeginTransaction()
{
return BeginTransaction();
}
public ODETransaction BeginTransaction()
{
ODETransaction result = new ODETransaction(this, connection.BeginTransaction());
return result;
}
public void ChangeDatabase(string databaseName)
{
connection.ChangeDatabase(databaseName);
}
public void Close()
{
connection.Close();
}
public string ConnectionString
{
get
{
return connection.ConnectionString;
}
set
{
connection.ConnectionString = value;
}
}
public int ConnectionTimeout
{
get
{
return connection.ConnectionTimeout;
}
}
IDbCommand IDbConnection.CreateCommand()
{
return CreateCommand();
}
ODECommand CreateCommand()
{
DbCommand cmd = connection.CreateCommand();
ODECommand result = new ODECommand(this, cmd);
return result;
}
public string Database
{
get
{
return connection.Database;
}
}
public string DatabaseDomainName
{
get
{
return Helper.GetDatabaseDomainName(this);
}
}
public string DatabaseName
{
get
{
return Helper.GetDatabaseName(this);
}
}
public string HostName
{
get
{
return Helper.GetHostName(this);
}
}
public string InstanceName
{
get
{
return Helper.GetInstanceName(this);
}
}
public string ModuleName
{
get
{
return Helper.GetModuleName(this);
}
}
public string ServiceName
{
get
{
return Helper.GetServiceName(this);
}
}
public int StatementCacheSize
{
get
{
return Helper.GetStatementCacheSize(this);
}
}
public void Open()
{
connection.Open();
}
public ConnectionState State
{
get
{
return connection.State;
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Chief Architect - Sea Surveillance AS.
Specializing in integrated operations and high performance computing solutions.
I’ve been fooling around with computers since the early eighties, I’ve even done work on CP/M and MP/M.
Wrote my first “real” program on a BBC micro model B based on a series in a magazine at that time. It was fun and I got hooked on this thing called programming ...
A few Highlights:
- High performance application server development
- Model Driven Architecture and Code generators
- Real-Time Distributed Solutions
- C, C++, C#, Java, TSQL, PL/SQL, Delphi, ActionScript, Perl, Rexx
- Microsoft SQL Server, Oracle RDBMS, IBM DB2, PostGreSQL
- AMQP, Apache qpid, RabbitMQ, Microsoft Message Queuing, IBM WebSphereMQ, Oracle TuxidoMQ
- Oracle WebLogic, IBM WebSphere
- Corba, COM, DCE, WCF
- AspenTech InfoPlus.21(IP21), OsiSoft PI
More information about what I do for a living can be found at:
harlinn.com or
LinkedIn
You can contact me at
espen@harlinn.no