Подключение к базе данных через ADO.

Автор ALexey7ov, 5 октября 2015, 10:00

0 Пользователи и 1 гость просматривают эту тему.

ALexey7ov

Здравствуйте все. Есть рабочий код подключения к базе данных на сервере MSSQL.
sub ConnWh(bs as string) ' Процедура соединения с моей базой данных MyBase на сервере MSSQL
dbo=createUnoService("com.sun.star.sdbc.DriverManager")
connStr="sdbc:ado:Provider=SQLNCLI11.1;Integrated Security=SSPI;"&_
"Persist Security Info=False;Initial Catalog="&bs &";"&_
"Data Source=MySERV\MySQL;Initial File Name="""";Server SPN=myserv"
Connection=dbo.getConnection(connStr)
Statement=Connection.createStatement() ' Резервирование записи
End Sub


Однако, в случае, если по каким-либо причинам сервер не доступен, будь то потеря связи, неправильные данные логин-пароль, закрыты порты для MSSQL, неправильно указана версия драйвера ADO, либо нужная отсутствует, либо ещё какие затруднения, то на этапе создания подключения к базе данных макрос просто начинает работу и не может её закончить, словно висит. В диспетчере задач Windows процесс не показывается зависшим, т.е., идёт бесконечное выполнение создание подключение и ни ответа, ни привета. В интерфейсе com.sun.star.sdbc.XDriverManager есть методы .getLoginTimeOut() и setLoginTimeOut(), соответственно получения времени истечения ожидания подключения и его задания, по истечении которого должна выдаваться некая ошибка. Однако при указании времени задания при возникновении какой-либо проблемы, никаких ошибок не выдаётся, а происходит бесконечное выполнение получения подключения к базе (.getConnection). Что посоветуете в решении этой проблемы?

Версия LibreOffice: 5.0.0.5