5 Commits

Author SHA1 Message Date
Jonathan Jenne
8a1c4315c0 EDMIService: 2.1.0 2021-05-05 15:05:52 +02:00
Jonathan Jenne
2a9162ff63 EDMIService: switch to x64 2021-05-05 15:05:10 +02:00
Jonathan Jenne
b9c7a23ddd EDMIService: Apply timeout of 4 minutes for datatable jobs 2021-05-05 15:04:51 +02:00
Jonathan Jenne
c11533a2e4 Database: Version 2.1.0 2021-05-05 15:02:19 +02:00
Jonathan Jenne
c6726c4f3e Database: Add timeout option to all functions 2021-05-05 15:01:41 +02:00
5 changed files with 35 additions and 29 deletions

View File

@@ -231,19 +231,19 @@ Public Class MSSQLServer
End Using
End Function
Public Function GetDatatable(SqlCommand As String, Transaction As SqlTransaction) As DataTable
Public Function GetDatatable(SqlCommand As String, Transaction As SqlTransaction, Optional Timeout As Integer = 120) As DataTable
Using oSqlConnection = GetSQLConnection()
Return GetDatatableWithConnectionObject(SqlCommand, oSqlConnection, TransactionMode.ExternalTransaction, Transaction)
Return GetDatatableWithConnectionObject(SqlCommand, oSqlConnection, TransactionMode.ExternalTransaction, Transaction, Timeout)
End Using
End Function
Public Async Function GetDatatableAsync(SqlCommand As String) As Task(Of DataTable)
Return Await Task.Run(Function() GetDatatable(SqlCommand, _Timeout))
Public Async Function GetDatatableAsync(SqlCommand As String, Optional Timeout As Integer = 120) As Task(Of DataTable)
Return Await Task.Run(Function() GetDatatable(SqlCommand, Timeout))
End Function
Public Function GetDatatableWithConnection(SqlCommand As String, ConnectionString As String) As DataTable
Public Function GetDatatableWithConnection(SqlCommand As String, ConnectionString As String, Optional Timeout As Integer = 120) As DataTable
Using oConnection = GetConnection(ConnectionString)
Return GetDatatableWithConnectionObject(SqlCommand, oConnection)
Return GetDatatableWithConnectionObject(SqlCommand, oConnection, Timeout:=Timeout)
End Using
End Function
@@ -278,30 +278,30 @@ Public Class MSSQLServer
Public Function ExecuteNonQuery(SQLCommand As String) As Boolean Implements IDatabase.ExecuteNonQuery
Using oConnection = GetSQLConnection()
Return ExecuteNonQueryWithConnectionObject(SQLCommand, oConnection, TransactionMode.WithTransaction, Nothing, TIMEOUT_DEFAULT)
Return ExecuteNonQueryWithConnectionObject(SQLCommand, oConnection, TransactionMode.WithTransaction, Nothing, _Timeout)
End Using
End Function
Public Function ExecuteNonQuery(SQLCommand As String, Timeout As Integer) As Boolean Implements IDatabase.ExecuteNonQuery
Using oConnection = GetSQLConnection()
Return ExecuteNonQueryWithConnectionObject(SQLCommand, oConnection, TransactionMode.WithTransaction, Nothing, TIMEOUT_DEFAULT)
Return ExecuteNonQueryWithConnectionObject(SQLCommand, oConnection, TransactionMode.WithTransaction, Nothing, Timeout)
End Using
End Function
Public Function ExecuteNonQuery(SQLCommand As String, Transaction As SqlTransaction) As Boolean
Public Function ExecuteNonQuery(SQLCommand As String, Transaction As SqlTransaction, Optional Timeout As Integer = 120) As Boolean
Using oConnection = GetSQLConnection()
Return ExecuteNonQueryWithConnectionObject(SQLCommand, oConnection, TransactionMode.ExternalTransaction, Transaction, TIMEOUT_DEFAULT)
Return ExecuteNonQueryWithConnectionObject(SQLCommand, oConnection, TransactionMode.ExternalTransaction, Transaction, Timeout)
End Using
End Function
Public Async Function ExecuteNonQueryAsync(SQLCommand As String) As Task(Of Boolean)
Return Await Task.Run(Function() ExecuteNonQuery(SQLCommand))
Public Async Function ExecuteNonQueryAsync(SQLCommand As String, Optional Timeout As Integer = 120) As Task(Of Boolean)
Return Await Task.Run(Function() ExecuteNonQuery(SQLCommand, Timeout))
End Function
Public Function ExecuteNonQueryWithConnection(pSQLCommand As String, ConnString As String) As Boolean
Public Function ExecuteNonQueryWithConnection(pSQLCommand As String, ConnString As String, Optional Timeout As Integer = 120) As Boolean
Using oConnection = GetConnection(ConnString)
Return ExecuteNonQueryWithConnectionObject(pSQLCommand, oConnection)
Return ExecuteNonQueryWithConnectionObject(pSQLCommand, oConnection, TransactionMode.WithTransaction, Nothing, Timeout)
End Using
End Function
@@ -342,19 +342,19 @@ Public Class MSSQLServer
End Using
End Function
Public Function GetScalarValue(SQLCommand As String, Transaction As SqlTransaction) As Object
Public Function GetScalarValue(SQLCommand As String, Transaction As SqlTransaction, Optional Timeout As Integer = 120) As Object
Using oConnection = GetSQLConnection()
Return GetScalarValueWithConnectionObject(SQLCommand, oConnection, TransactionMode.ExternalTransaction, Transaction)
Return GetScalarValueWithConnectionObject(SQLCommand, oConnection, TransactionMode.ExternalTransaction, Transaction, Timeout)
End Using
End Function
Public Async Function GetScalarValueAsync(SQLQuery As String) As Task(Of Object)
Return Await Task.Run(Function() GetScalarValue(SQLQuery, _Timeout))
Public Async Function GetScalarValueAsync(SQLQuery As String, Optional Timeout As Integer = 120) As Task(Of Object)
Return Await Task.Run(Function() GetScalarValue(SQLQuery, Timeout))
End Function
Public Function GetScalarValueWithConnection(SQLCommand As String, ConnectionString As String) As Object
Public Function GetScalarValueWithConnection(SQLCommand As String, ConnectionString As String, Optional Timeout As Integer = 120) As Object
Using oConnection = GetConnection(ConnectionString)
Return GetScalarValueWithConnectionObject(SQLCommand, oConnection)
Return GetScalarValueWithConnectionObject(SQLCommand, oConnection, TransactionMode.WithTransaction, Nothing, Timeout)
End Using
End Function

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.0.2.0")>
<Assembly: AssemblyFileVersion("2.0.2.0")>
<Assembly: AssemblyVersion("2.1.0.0")>
<Assembly: AssemblyFileVersion("2.1.0.0")>

View File

@@ -31,14 +31,16 @@
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>EDMIService.xml</DocumentationFile>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -47,7 +49,8 @@
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>EDMIService.xml</DocumentationFile>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>

View File

@@ -12,7 +12,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("EDMIService")>
<Assembly: AssemblyCopyright("Copyright © 2020")>
<Assembly: AssemblyCopyright("Copyright © 2021")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.0.1.0")>
<Assembly: AssemblyFileVersion("2.0.1.0")>
<Assembly: AssemblyVersion("2.1.0.0")>
<Assembly: AssemblyFileVersion("2.1.0.0")>

View File

@@ -9,6 +9,8 @@ Imports Quartz
Public Class DatatableJob
Implements IJob
Private Const COMMAND_SQL_TIMEOUT = 240
Private _MSSQL As MSSQLServer
Public Function Execute(context As IJobExecutionContext) As Task Implements IJob.Execute
@@ -41,7 +43,8 @@ Public Class DatatableJob
oLogger.Debug("Connection Id: {0}", oConnectionId)
Dim oConnectionString = oMSSQL.Get_ConnectionStringforID(oConnectionId)
Dim oTable = oMSSQL.GetDatatableWithConnection(oSQL, oConnectionString)
Dim oTable = oMSSQL.GetDatatableWithConnection(oSQL, oConnectionString, COMMAND_SQL_TIMEOUT)
oTable.TableName = oDatatableName
oLogger.Debug("Result Datatable [{0}] contains [{1}] rows", oTable.TableName, oTable.Rows.Count)