pull/1/head
a.bozhenov 5 years ago
parent f43e2dca93
commit a064b5972d

@ -62,14 +62,21 @@ namespace ZeroLevel.SqlServer
}
dbConnectionString = new SqlConnectionStringBuilder(_currentConnectionString);
dbConnectionString.Pooling = true;
dbConnectionString.MaxPoolSize = 50;
}
public SqlConnection CreateConnection()
{
var connection = new SqlConnection(ConnectionString);
connection.Open();
return connection;
try
{
var connection = new SqlConnection(ConnectionString);
connection.Open();
return connection;
}
catch (Exception ex)
{
Log.Error(ex, $"[SqlDbConnectionFactory.CreateConnection] {ConnectionString}");
throw;
}
}
#region Helpers

@ -7,7 +7,7 @@ using System.Data.SqlClient;
namespace ZeroLevel.SqlServer
{
public class DbReader
:IDisposable
: IDisposable
{
private readonly DbConnection _connection;
private readonly IDbCommand _command;
@ -76,6 +76,7 @@ namespace ZeroLevel.SqlServer
cmd.ExecuteNonQuery();
}
}
connection.Close();
}
}
@ -88,9 +89,16 @@ namespace ZeroLevel.SqlServer
{
using (DbConnection connection = _factory.CreateConnection())
{
using (var cmd = CreateCommand(connection, query, par, Timeout))
try
{
using (var cmd = CreateCommand(connection, query, par, Timeout))
{
return cmd.ExecuteNonQuery();
}
}
finally
{
return cmd.ExecuteNonQuery();
connection.Close();
}
}
}
@ -108,6 +116,7 @@ namespace ZeroLevel.SqlServer
}
finally
{
connection.Close();
connection.Dispose();
}
}
@ -148,6 +157,7 @@ namespace ZeroLevel.SqlServer
da.Fill(ds);
}
}
connection.Close();
}
return ds;
}
@ -164,6 +174,7 @@ namespace ZeroLevel.SqlServer
da.Fill(ds);
}
}
connection.Close();
}
return ds;
}
@ -174,9 +185,16 @@ namespace ZeroLevel.SqlServer
{
using (var connection = _factory.CreateConnection())
{
using (var cmd = CreateCommand(connection, query, null, Timeout))
try
{
using (var cmd = CreateCommand(connection, query, null, Timeout))
{
return cmd.ExecuteScalar();
}
}
finally
{
return cmd.ExecuteScalar();
connection.Close();
}
}
}
@ -185,9 +203,16 @@ namespace ZeroLevel.SqlServer
{
using (var connection = _factory.CreateConnection())
{
using (var cmd = CreateCommand(connection, query, par, Timeout))
try
{
using (var cmd = CreateCommand(connection, query, par, Timeout))
{
return cmd.ExecuteScalar();
}
}
finally
{
return cmd.ExecuteScalar();
connection.Close();
}
}
}
@ -198,13 +223,20 @@ namespace ZeroLevel.SqlServer
{
using (var connection = _factory.CreateConnection())
{
using (var command = new SqlCommand(name, connection)
try
{
CommandType = CommandType.StoredProcedure
})
using (var command = new SqlCommand(name, connection)
{
CommandType = CommandType.StoredProcedure
})
{
command.CommandTimeout = 300000;
return command.ExecuteNonQuery();
}
}
finally
{
command.CommandTimeout = 300000;
return command.ExecuteNonQuery();
connection.Close();
}
}
}
@ -281,7 +313,7 @@ namespace ZeroLevel.SqlServer
return new SqlParameter[0];
}
private static SqlCommand CreateCommand(DbConnection connection, string query, DbParameter[] parameters, int timeout)
public static SqlCommand CreateCommand(DbConnection connection, string query, DbParameter[] parameters, int timeout)
{
var command = connection.CreateCommand();
command.CommandText = query;

Loading…
Cancel
Save

Powered by TurnKey Linux.