0

следующий сценарий с брандмауэром Inbetween этого ПК:Ошибка Расположение сервера/Instance Задается SQLNCLI10.1

  1. Клиент PC

    • IP 10.10.140.100
    • подсеть 255.255.0.0
    • Шлюз: 10.10.0.254
  2. сервер ПК

    • IP 10.40.140.100
    • подсеть 255.255.0.0
    • Gateway: 10.140.255.254

Сама связь уже работает (пинг, с помощью WebClient) так что не беспокойтесь слишком много об этом. У меня возникла проблема подключения к именованному экземпляру (в данном случае «WINCC») с клиентского ПК на серверный ПК (SQL Server 2008 R2) с использованием следующей строки подключения в приложении (имя базы данных верное, проверил):

strserver = "10.40.140.100" 
    strConnectionString = "Provider=SQLNCLI10.1;Integrated Security=SSPI; Persist Security Info=False;Initial Catalog=" & Database & ";Data Source=" & strServer & "\WINCC"  

обстоятельство:

    установлен
  • Microsoft SQL Server 2008 Native Client на клиентском ПК
  • Использованные на клиентском компьютере пользователя окон существующий на компьютере сервера и часть необходимой группы пользователей (в этом случае SIMATIC HMI Group, потому что из WinCC)
  • Я искал динамический порт, используемый сервером sql, который является 49181, и порт был открыт в брандмауэре сети.
  • Это до сих пор работало в любой другой сетевой среде, но что-то все равно каким-то образом блокирование доступа в сети

сценарий разбивая со следующей ошибкой: «Сетевые интерфейсы SQL Server: ошибка обнаружения сервера/экземпляра указано [xFFFFFFFF]» при попытке установить соединение с базой данных (.Open команда). Я на 99% уверен, что он должен что-то сделать, если порт не открыт. Я несколько раз видел, что UDP-порт 1434 службы Sql Browser должен быть открыт. Является ли это также актуальным при использовании клиента SQL NAtive Client? Или я должен попытаться назвать порт конкретно в строке подключения? (Например, «10.40.140.100,49181/WINCC»?)

Замечания, спасибо! С уважением, CMSPaul

ответ

0

Использование динамического порта может часто вызывать проблемы. Если у вас есть сервер приложений, подключающийся к серверу SQL внутри вашей сети, я бы предложил использовать статический IP-адрес на SQL-сервере, а затем перенаправить его через брандмауэр, как определено. Также, как вы сказали, я буду определять порт TCP/IP в вашей строке подключения.

Это будет настроено в диспетчере конфигурации SQL Server в конфигурации сети SQL Server. Выберите Протоколы для. Щелкните правой кнопкой мыши TCP/IP и выберите вкладку IP-адрес.Убедитесь, что для всех динамических портов TCP установлено значение 0. В разделе «IPALL» установите TCP-порт на статический IP-адрес. Как только это будет сделано, вам нужно будет перезапустить службу SQL-сервера.

+0

Я тоже подумал об этом решении, и я попробую этот путь через неделю после следующего. Спасибо за ваше подтверждение, я расскажу вам, как это происходит! – CMSPaul

+0

Я думаю, что он должен соответствовать тому, что вам нужно. Удачи!! – bwilliamson

+0

В конце концов проблема заключалась в том, что сервер SQl был настроен с адресом IPv6 при установке, и при попытке подключения от клиента к серверу он не мог связать адрес IPv4 с правильным SQL-сервером. Но тем не менее статический IP-адрес теперь используется для того, чтобы SQL-сервер просто сохранялся. Еще раз спасибо за вашу помощь! – CMSPaul

Смежные вопросы