У меня есть сценарий VB, который подключается к локальной базе данных SQL для извлечения значения. Тот же самый скрипт работает примерно на 100 серверах, но некоторые из серверов производят эту ошибку:[DBNETLIB] [ConnectionOpen (PreLoginHandshake()).] Общая сетевая ошибка - подключение к базе данных SQL в скрипте VB
[DBNETLIB] [ConnectionOpen (PreLoginHandshake()).] Общая сетевая ошибка. Проверьте сеть документации
Вот код, который работает:
Function GetPrimaryServerID
On Error Resume Next
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
objConnection.Open "Provider=SQLOLEDB;Data Source=127.0.0.1;Initial Catalog=xxx;User ID=xxx;Password=xxx"
sqlquery = "SELECT ServerID FROM tblSettings"
objRecordSet.Open sqlquery,objConnection
objRecordSet.MoveFirst
GetPrimaryServerID = objRecordSet("ServerID")
objRecordSet.Close
objConnection.Close
End Function
ошибка происходит на 5-й линии при попытке открыть строку подключения. Я в замешательстве, почему этот скрипт работает почти на всех серверах и не работает только на несколько. База данных, к которой они подключаются, идентична на каждом сервере с точки зрения структуры, а только данные, которые изменяются.
Все серверы Windows 2003 R2 x64 SP2. Все серверы используют SQL Server 9.0.3042 64 бит. Это включает в себя следующие и неудачные серверы. Я дважды проверял отказоустойчивые серверы, чтобы убедиться. Я не уверен, как проверить версию MDAC. Я только что заметил, что на неудачных серверах при открытии SQL Server Management Studio я не могу подключиться к 127.0.0.1, мне нужно подключиться к имени сервера. Однако на каждом другом сервере я могу подключиться к 127.0.0.1. – VBscripter
Это ошибка при попытке подключиться к 127.0.0.1 на серверах с отказами через Management Studio: соединение было успешно установлено с сервером, но затем произошла ошибка во время установления связи перед входом в систему. При подключении к SQL Server 2005 этот сбой может быть вызван тем, что при стандартных настройках SQL Server не разрешает удаленные подключения. (поставщик: поставщик Named Pipes, ошибка: 0 - на другом конце канала нет процесса.) (Microsoft SQL Server, ошибка: 233) – VBscripter
@VBScripter: можете ли вы выполнить ping 127.0.0.1? эти серверы настроены для активации? – gbn