Так подключаюсь к БД и заполняю Recordset:
- Код: Выделить всё
Function DBConnect(DbPath As String, UserName As String, Pass As String) As Boolean
On Error GoTo DB_Err
DBConnect = False
Set conData = New Connection
Dim rst As ADODB.Recordset
Set rst = New Recordset
conData.CursorLocation = adUseServer
conData.Open "DRIVER=Firebird/InterBase(r) driver; DBNAME=" & DbPath & "; UID=" & UserName & "; PWD=" & Pass & ";CLIENT=fbclient.dll;READONLY=1;NOWAIT=1;CHARSET=WIN1251;DIALECT=3;"
Set rst = FillRecordset("select current_date as CurDate from rdb$database")
If rst.RecordCount > 0 Then
DBConnect = True
Else
DBConnect = False
End If
Set rst = Nothing
Exit Function
DB_Err:
MsgBox Err.Description
DBConnect = False
End Function
Function FillRecordset(SQL As String) As ADODB.Recordset
Dim rst As ADODB.Recordset
Set rst = New Recordset
rst.Open SQL, conData, adOpenStatic, adLockOptimistic
Set FillRecordset = rst
End Function
Проблема в том, что если запрос содержит "залоченную" запись rst.Open ждет завершения блокирующей транзакции, а я хочу, что бы выпадала ошибка. В какую сторону копать? Вроде перепробовал все параметры подключения...