Пожалуйста, смотрите код ниже:Повторное использование строки подключения
Namespace DataAccessGateway
Public Class clsAudit
Implements IAudit
Private _ConString As String
Private _Provider As String
Public Sub New()
_ConString = ConfigurationManager.ConnectionStrings("dbConnection").ConnectionString
_Provider = ConfigurationManager.ConnectionStrings("dbConnection").ProviderName
End Sub
Public Function AddAudit(ByVal tyDeletion As typeDeletion) As Integer Implements IAudit.AddAudit
Dim intCount As Integer
Dim objParameterValues As New clsParameterValues
Dim iConnectionBLL As iConnectionBLL
Dim tyInnkeeperPremises As New typeInnkeeperPremises
Dim objCon As DbConnection
Try
Dim paramValues() As DbParameter
objParameterValues = New clsParameterValues
iConnectionBLL = New clsConnectionBLL()
objCon = iConnectionBLL.getDatabaseTypeByDescription("AUDIT")
Using objCon
Dim strSQL As String
strSQL = "INSERT INTO dbAudit (Reference) VALUES (@Reference)"
objParameterValues.AssignParameterValues("@Reference", tyDeletion.Reference, 1)
paramValues = objParameterValues.getParameterValues
intCount = clsDatabaseHelper.ExecuteNonQuery(objCon, CommandType.Text, strSQL, paramValues)
End Using
Return intCount
Catch ex As Exception
Return -1
End Try
End Function
End Class
End Namespace
Этот код называется как часть пакетной обработки задания, т.е. его можно было бы назвать десять миллионов раз в день все сразу. Строка подключения для базы данных аудита хранится в таблице зашифрованной базы данных, т. Е. Tbl_database (getDatabaseTypeByDescription запрашивает эту таблицу). Поэтому для того, чтобы получить одну и ту же строку соединения десять миллионов раз, необходимо запросить базу данных до десяти миллионов раз. Неправильно ли использовать строку соединения в статической переменной или есть лучший способ?
Я понимаю, что было бы лучше положить строку подключения в файл конфигурации, но я надеюсь, что она будет последовательной.
Строка подключения обычно хранится в файле конфигурации приложения. Кроме того, это может быть параметр реестра. Я никогда не видел приложения, где он будет храниться в базе данных, поэтому вам понадобится строка подключения для этой базы данных, чтобы получить нужную строку соединения. У вас есть причина не делать что-то прямо? – Neolisk
@Neolisk, спасибо. Веб-приложение запрашивает базу данных, чтобы получить много строк подключения. Можно ли извлечь строку подключения из файла конфигурации и загрузить ее в app.config при запуске приложения? – w0051977
'extract ... string from ... config file и загрузить ... в ... app.config ...'. Файл Config и app.config - это одно, а? Пожалуйста, объясни. Просьба также рассказать о нескольких строках подключения в вашем вопросе. – Neolisk