#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;