Подключение к БД работает с SQL Server 2008 R2, но не с SQL Server 2014

#sql-server #sql-server-2008-r2 #database-connection #sql-server-2014 #sqloledb

#sql-сервер #sql-server-2008-r2 #база данных-подключение #sql-server-2014 #sqloledb

Вопрос:

Я должен обновить очень старый сайт, используя классический ASP и SQLOLEDB но подключение к SQL Server не работает с использованием SQL Server 2014.

Это работает для моего клиента, использующего SQL Server 2008 R2, но не работает для меня, использующего SQL Server 2014.

Очевидный ответ — установить SQL Server 2008 R2 локально, однако вся настройка может занять довольно много времени.

Есть ли какие-либо настройки SQL Server 2014, которые я упускаю?

Это моя строка подключения:

 "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=myUser;PASSWORD=123456;Initial Catalog=myCatalog;Data Source=localhost;Network Library=DBMSSOCN"
  

Ошибка, которую я получаю, это:

Ошибка поставщика Microsoft OLE DB для SQL Server ‘80004005’

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует или доступ запрещен.

Я могу подключиться к этому серверу с помощью SQL Server Management Studio с этим паролем и пользователем. И эта строка подключения работает нормально, если экземпляром является SQL Server 2008 R2. Таким образом, должна быть разница между 2014 и 2008 R2.

Комментарии:

1. Попробуйте удалить Library=DBMSSOCN . Я знаю, что вы пытаетесь принудительно использовать TCP; но попробуйте обойтись без него.

Ответ №1:

Я бы посоветовал добавить порт подключения в вашу строку. Значение по умолчанию равно 1433, если вы его не изменили. Следующий код предоставит вам информацию о порту сервера:

 SELECT DISTINCT 
local_tcp_port 
FROM sys.dm_exec_connections 
WHERE local_tcp_port IS NOT NULL
  

Комментарии:

1. Спасибо @bwilliamson, я пробовал это, и, к сожалению, это не сработало : (

2. Я думаю, что ваша строка подключения может быть отключена в соответствии с этим сайтом. [ССЫЛКА] ( connectionstrings.com/sql-server ) Попробуйте Provider=SQLNCLI11;