Wie erkennt eine OLEDB / ODBC-Verbindung den Pfad zu einer SQL Server-Datenbank nur anhand ihres Namens?

346
BarrettNashville

Wenn ich eine Verbindungszeichenfolge wie diese habe, die ich in einer Datenverbindung in Excel verwende, um Daten aus einer SQL Server-Datenbank abzurufen:

OLEDB; Provider=SQLOLEDB.1; User ID=MY_USERNAME; Password=MY_PASSWORD; Persist Security Info=False; Initial Catalog=ABC; Data Source=MY_SQL_SERVER_NAME; Use Procedure for Prepare=1; Auto Translate=True; Packet Size=4096; Use Encryption for Data=False; Tag with column collation when possible=False 

Woher kennt mein Computer den Pfad MY_SQL_SERVER_NAMEim Netzwerk?

Ich gehe davon aus, dass meine Firma irgendwo eine Art Konfigurationsdatei verwendet, aber ich weiß nicht, wie alles unter der Haube funktioniert.

Wenn ich Daten von einer Website anstelle einer SQL Server-Datenbank abruft, muss der Website-Ressource ein Pfad / Domänenname wie folgt vorangestellt werden: http:\\www.example.com\MY_RESOURCE_NAME.html

Ohne diesen Weg wäre ich nicht gekommen MY_RESOURCE_NAME.html. Wie funktioniert dann ODBC, ohne dass ein Pfad vorangeht MY_SQL_SERVER_NAME?

Mein Problem ist, dass die Verbindungszeichenfolge meistens gut funktioniert. Wenn ich jedoch bei VPN zu Hause bin, ist dies nicht der Fall. Ich habe jedoch keine Ahnung, wie ich es beheben kann.

Hinweise: Ich habe MY_SQL_SERVER_NAMEim Windows ODBC-Datenquellenadministrator keine Verbindung eingerichtet, daher greift mein Computer irgendwie auf den SQL-Server zu, indem er nur die Verbindungszeichenfolge AFAIK verwendet.

2

1 Antwort auf die Frage

2
Frank Thomas

ODBC stützt sich auf die Auflösungsfunktionen für Hostnamen. Daher muss das Datenquellenargument ein Ausdruck sein, den der Host über die verfügbaren Mechanismen nachschlagen kann. In Windows beinhaltet dies die Auflösung über SMB / CIFS, WINS, HostFile, DNS, mDNS usw.

Das VPN unterstreicht, dass Sie SMB- oder DNS-Benennung verwenden (mit einem kurzen Namen und nicht mit FQDN), da beide in der Regel vollqualifizierte DNS-Namen erfordern, wenn sie auf Systemen konfiguriert werden, die sich nicht permanent im fraglichen Netzwerk befinden. Ihr Host verweist beispielsweise auf einen LAN-DNS-Server, der auf der anderen Seite des VPNs keine Zone für das Netzwerk hostet. In diesen Fällen müssen Sie einen vollständig qualifizierten Domänennamen verwenden, damit die Abfrage auf dem richtigen Server aufgelöst wird.

du könntest ja. Ich weiß nicht, worauf Sie sich einlassen. Frank Thomas vor 6 Jahren 0
oder NBT / SMB-Technologie oder NFS oder Host File oder WINS ... in Bezug auf das VPN ist jedoch nur DNS ein INTERNETWORK-Protokollierungsprotokoll. Es funktioniert also über Netzwerke hinweg, wohingegen NBT / SMB oder WINS den LAN-Bereich und Host-Datei hat lokalen Gültigkeitsbereich. Frank Thomas vor 6 Jahren 0
Vorhandene integrierte Windows-Tools (für die keine Installation / Verwendung von Administratorrechten erforderlich ist), mit denen ich herausfinden könnte, was mit `MY_SQL_SERVER_NAME` auf meinem Computer aufgelöst wird? BarrettNashville vor 6 Jahren 0
'Nslookup' gefunden. Wenn ich also eine Befehlszeile öffne und "nslookup MY_SQL_SERVER_NAME" eingibt, wird mir der Server und die IP-Adresse des Zugriffs angezeigt. BarrettNashville vor 6 Jahren 0
`NSLookup` ist ein großartiges Werkzeug zur Überprüfung von DNS-Namen. Für NBT / SMB / WINS können Sie `NET VIEW` verwenden. Frank Thomas vor 6 Jahren 0