При создании системного DSN я получаю сообщение об ошибке:
Connection failed:
SQLState: '08001'
SQL Server Error: 2
[Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could
not open a connection to SQL Server [2].
Connection failed:
SQLState: 'HYT00'
SQL Server Error: 0
[Microsoft][SQL Server Native Client 10.0]Login timeout expired
Я использую Vista Home Premium 64-bit SP2 и без ошибок установил SQL Server 2008 Express Advanced. Я буду использовать базу данных локально для приложения, установленного на том же компьютере.
Я могу успешно подключиться к SQL Server Management Studio с помощью проверки подлинности Windows (моя учетная запись Windows является членом локальных администраторов), и я могу успешно создать базу данных с владельцем по умолчанию (по умолчанию моя учетная запись Windows). Я также могу подключиться с помощью SSMS с аутентификацией SQL и учетной записью SA.
Диспетчер конфигурации SQL Server показывает, что Shared Memory
, TCP/IP
, и Named Pipes
включены для SQL Native Client 10.0 Configuration
, SQL Native Client 10.0 Configuration (32bit)
, и SQL Server Network Configuration (SQLEXPRESS)
.
В SQL Server (SQLEXPRESS)
и SQL Server Reporting Services (SQLEXPRESS)
службы работают.
Когда я создаю системный DSN, мои драйверы SQL server
(sqlsrv32.dll
4-10-09), что дает общий мастер, и SQL Server Native Client 10.0
(sqlncli10.dll
7-10-08), что дает мастер SQL Server 2008. Я выбираю последнее.
Я ввожу имя, описание и пробовал оба MyPCName
и 127.0.0.1
для имени сервера (просмотр ничего не дает). После нажатия кнопки «Далее» я оставляю его для встроенной проверки подлинности Windows и оставляю флажок «Подключиться к серверу для дополнительных параметров». После нажатия кнопки «Далее» я получаю сообщение об ошибке выше. Я получаю ту же ошибку, используя аутентификацию SQL и учетную запись SA.
Я знаю, что это, вероятно, простой ответ (проблема с разрешением?), И я новичок в SQL, поэтому я ценю все, что укажет мне в правильном направлении.
Спасибо!
Это имя экземпляра (Servername\instance
). Вероятно, в прошлом у вас был экземпляр по умолчанию (который обычно не имеет имени); теперь вам нужно, и это обязательно сделать явным, так как много экземпляров могут находиться на одном сервере.
Я понял. Вместо того MyPCName
, Мне нужно было использовать MyPCName\SQLExpress
. Раньше я всегда просто использовал имя компьютера и никогда не испытывал проблем. Может быть, 2008 год будет другим.