Примітка. Я, очевидно, змінив імена серверів та IP-адреси на вигадані.
Ось що відбувається. У мене є сервер, на який я дзвоню MYSERVER
, під керуванням Microsoft SQL Server Express 2005. Саме на цьому сервері у мене встановлено ODBC-з'єднання, яке вказує на себе, і це вже працює чудово. Я входжу за допомогою автентифікації SQL Server (не автентифікації Windows), і він налаштований так:
Як я вже сказав, це працює. Але далі, у мене є ще один комп’ютер, який знаходиться на зовсім іншому домені / не в інтрамережі, який потребує доступу до цього ж SQL-сервера, розміщеного в MYSERVER. Оскільки він знаходиться в іншому домені, він не розпізнає ім'я "MYSERVER"; Я маю вказати його на IP-адресу MYSERVER, про яку ми скажемо, 123.456.789.012. Але зв’язок ODBC, здається, не працює там. Я спробував налаштувати його так:
Це не працює. Коли я ввожу ім’я користувача та пароль і натискаю Далі, він затримується на добрі 10 - 20 секунд, а потім, нарешті, повертається із наступною помилкою:
Connection failed:
SQLState: '01000'
SQL Server Error: 1326
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
Якщо я спробую те ж саме, але змінити "сервер" 123.456.789.012\SQLEXPRESS
на просто старий 123.456.789.012
, я отримую іншу помилку:
Connection failed:
SQLState: '01000'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Invalid Instance()).
Connection failed:
SQLState: '08001'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]Invalid connection.
Тепер я знаю, що ти думаєш. Ви можете думати, "так, ви, певно, не відкрили брандмауер для порту 1433, манекен". Крім того, що я це зробив, і я перевірив це, оскільки я можу успішно запустити:
telnet 123.456.789.012 1433
... з командного рядка все, що я хочу. Тож я не впевнений, що робити. Я знаю, що SQL Server існує, працює, і ODBC-з'єднання можна налаштувати належним чином; Я просто не впевнений, що це таке. Я помилився в налаштуваннях підключення, що кидає ці помилки. Виходячи з останньої перерахованої я помилки, здавалося б, вона може підключитися до сервера, але просто не може знайти примірник (оскільки я цього часу не вказав). Так це означає, що мені просто потрібно використовувати інший синтаксис, щоб вказати IP разом із ім'ям екземпляра? Що мені робити? Заздалегідь спасибі.