В дополнение к тому, что сказали Eton B и Ремус Русану, вы должны также проверить, включен ли протокол Named Pipes на SQL Server. Для проверки (на сервере):
- (Программы в меню Пуск)
- (Microsoft SQL Server 2008 / Microsoft SQL Server 2008 R2)
- Диспетчер конфигурации SQL Server
- Развернуть конфигурацию сети SQL Server
- (Выбрать протоколы для). В этом списке перечислены протоколы и указаны ли они.
Если Именованные каналы не включены, щелкните правой кнопкой мыши, Свойства, измените Enabled
на Yes
.
Другим вариантом является принудительное использование tcp (очевидно, используйте шаги, описанные выше, чтобы убедиться, что tcp включен). Вы можете принудительно установить tcp, изменив строку подключения так, чтобы в качестве префикса имени сервера вы использовали tcp:
:
myConn.Open ("Driver={SQL Server};
Server=tcp:myNetwrkServer;
Database=myDB;
UID=myID;PWD=myPWD;Trusted_Connection=NO;")
Если вы используете tcp, обратите внимание, что по умолчанию ваше приложение будет обращаться к базе данных через порт 1433, что означает, что порт должен быть открыт на сервере, если на этом сервере запущен брандмауэр.