Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ODBC. Через раз срабатывает подключение к БД. Помогите разобраться. / 5 сообщений из 5, страница 1 из 1
08.05.2020, 14:07
    #39955300
kefirko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Через раз срабатывает подключение к БД. Помогите разобраться.
Добрый день.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private cn As Object
Private rs As Object

Private Const cs As String = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$1;Pwd=123000" ' $1 сделал для удобства подключения к разным БД
Private Const fn As String = "\\serv11\Public\Егоров\123\123.accdb" ' файлик с бд лежит в локалке

Function ADODB_ConnectedODBC() As Boolean
    Set cn = CreateObject("ADODB.Connection")
    cn.CursorLocation = 3 ' adUseClient
    
    On Error GoTo err_not_connection
    cn.Open Replace$(cs, "$1", fn) ' проблема вот здесь и сдается мне, что она не в Replace, а именно в кривом срабатывании метода Open
    ' На некоторых машинах код работает идеально на 100% (12 машин), а на других (2 машины) этот метод вызывает ошибку и функция ADODB_ConnectedODBC возвращает false.
    ' Причем вероятность ошибки не 100%, а примерно 80%.
    ' Т.е., вызывая к примеру что-то вида: q "insert into `ppl` (`name`) values ('Бобров')", можно получить как false так и true.
    ' Я закономерности не поймал. Сидишь тыкаешь, тыкаешь. Один раз из пяти проканает, остальные будут отваливаться.

    ADODB_ConnectedODBC = True
    Exit Function

err_not_connection:
    ADODB_ConnectedODBC = False
End Function

Function q(sql$)
	If Not ADODB_ConnectedODBC Then Exit Sub
	cn.Execute sql
end Function



Гуру, прошу помочь разобраться в проблеме.
Протестил 14 машин. На 2х наблюдаются сбои.
Причем на ровно таких же по конфигурации компах все работает на ура, а 2 как проклятые...
...
Рейтинг: 0 / 0
08.05.2020, 14:58
    #39955335
ODBC. Через раз срабатывает подключение к БД. Помогите разобраться.
kefirko, а почему именно ODBC?
Попробуйте классику типа:
Строка подключенияProvider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Jet OLEDB:Database Password=MyDbPassword;
...
Рейтинг: 0 / 0
08.05.2020, 15:19
    #39955347
ldfanate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Через раз срабатывает подключение к БД. Помогите разобраться.
а если ОДБЦ-подключение (источник данных) создать явно в панели управления, и в его параметрах включить трассировку событий ОДБС? Там текстовые логи подключений тогда формируются, может поможет понять.
...
Рейтинг: 0 / 0
08.06.2020, 12:58
    #39967039
kefirko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Через раз срабатывает подключение к БД. Помогите разобраться.
Кривцов Анатолий, месяц - полет нормальный. Пока сбоев не было. Будем считать, что помогло.
...
Рейтинг: 0 / 0
08.06.2020, 12:59
    #39967040
kefirko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ODBC. Через раз срабатывает подключение к БД. Помогите разобраться.
ldfanate, честно излазил всё. Не по глазам не эта галочка. Хотел причину узнать, а не просто коннектор сменить, но настройки не нашел.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ODBC. Через раз срабатывает подключение к БД. Помогите разобраться. / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]