Uwaga: Oczywiście zmieniłem nazwy serwerów i adresy IP na fikcyjne.
Oto co się dzieje. Mam serwer, do którego dzwonię MYSERVER
, z programem Microsoft SQL Server Express 2005. Bezpośrednio na tym serwerze mam skonfigurowane połączenie ODBC wskazujące na siebie, które już działa idealnie. Loguję się przy użyciu uwierzytelniania programu SQL Server (nie uwierzytelniania systemu Windows), a konfiguracja jest następująca:
Tak jak powiedziałem, to działa. Ale potem mam inny komputer, który znajduje się w zupełnie innej domenie / nie w intranecie, który musi uzyskać dostęp do tego samego programu SQL Server hostowanego na MYSERVER. Ponieważ znajduje się w innej domenie, nie rozpoznaje nazwy „MYSERVER”; Muszę wskazać na adres IP MYSERVER, który powiemy 123.456.789.012. Ale połączenie ODBC nie wydaje się tam działać. Próbowałem skonfigurować to w następujący sposób:
To nie działa Po wpisaniu nazwy użytkownika i hasła i naciśnięciu przycisku Dalej blokuje się na dobre 10 do 20 sekund, a następnie w końcu powraca z następującym błędem:
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.
Jeśli spróbuję tego samego, ale zmienię „serwer” 123.456.789.012\SQLEXPRESS
na zwykły 123.456.789.012
, otrzymuję inny błąd:
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.
Teraz wiem, co myślisz. Być może myślisz: „och, prawdopodobnie nie otworzyłeś zapory dla portu 1433, manekinie”. Tyle że tak zrobiłem i zweryfikowałem to, ponieważ mogę pomyślnie uruchomić:
telnet 123.456.789.012 1433
... z wiersza poleceń wszystko, czego chcę. Więc nie jestem pewien, co robić. Wiem, że SQL Server istnieje, działa i można poprawnie skonfigurować połączenie ODBC ; Po prostu nie jestem pewien, co to jest, że pomyliłem się w ustawieniach połączenia, które powodują te błędy. W oparciu o ten drugi błąd, który wymieniłem, wydaje się, że może on połączyć się z serwerem, ale po prostu nie może znaleźć instancji (ponieważ nie określiłem go tym razem). Czy to oznacza, że po prostu muszę użyć innej składni, aby określić adres IP wraz z nazwą instancji? Co ja robię? Z góry dziękuję.