JDBC-connect-string für die SQL Server-cluster
Ich brauche, um das setup eine JDBC-connection string zu SQL-Server.
Diese Frage ist ähnlich wie die der C# ADO.Net Verbindung Frage. Dieser ist spezifisch für die JDBC-connection strings.
Das übliche format für die JDBC-Zeichenfolge "jdbc:sqlserver://{host}:{port}".
Nun, für einen SQL server-cluster habe ich einen cluster-Namen vvv\iii ({virtuelle-server}{Instanzname}).
Es gibt kein problem, das einrichten einer ODBC-Verbindung über den "New Data Source to SQL Server" - Assistenten, wenn Sie über den vvv - \ - iii-string wie den Namen des Servers. Allerdings scheint es die JDBC-Verbindungszeichenfolge erfordert einen bestimmten host und port.
Ist es ein Weg, um eine JDBC-Verbindungszeichenfolge zu einer SQL Server-cluster?
InformationsquelleAutor pythonquick | 2009-07-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
es stellt sich heraus, dass Sie verwenden können, die "instanceName" property innerhalb der JDBC-string, wie dokumentiert, auf die Microsoft Technet-Seite im Abschnitt "Benannt und Mehrere SQL Server-Instanzen". Was funktioniert in meinem Fall war der folgende string für virtuelle server-vvv-und Datenbank-Instanzname iii:
"jdbc:sqlserver://vvv;instanceName=iii"
InformationsquelleAutor pythonquick
Bei der Verwendung einer benannten Instanz von SQL Server in einem cluster oder stand-alone-Umgebung jeder SQL Server-Instanz dynamisch zugeordneten port-Nummer am Start. Der SQL Server-Browser-server behandelt Anforderungen für jede Instanz durchgeführt werden, da jeder server-Neustart könnte sich ändern, die port-Nummer, die jeder Instanz. Die erste Instanz zu starten, die auf einem server Neustart zugewiesen bekommt 1433 aber es gibt keine Garantie, wenn du 2 Instanzen, dass einer von Ihnen immer das bekommen, 1433. Es gibt mehrere veriables, die Auswirkungen auf die startup-und recovery-Zeit, die es braucht für eine Instanz zu starten. Dies kann sich ändern, jedes mal.
Traurig zu sein... wenn die Verbindung zu einer benannten Instanz, die die jdbc-Verbindung string sollte wie folgt Aussehen:
jdbc:sqlserver://ServerName/db_name;Instanz=instance_name
anstatt dieser
jdbc:sqlserver://ServerName:Port 1433/db_name;Instanz=instance_name
beachten Sie, dass die Standard-Datenbank "/db_name" ist optional. Wenn exclued der Verbindung wird die Standard-Datenbank zugeordnet, um die SQL Server-Anmeldung.
InformationsquelleAutor Mark Stewart
Cluster resource hat einen host-Namen und listening-port. Verwenden Sie den Buchstaben j
dbc:sqlserver://{virtualserver}:1433
(oder die entsprechende listening-port, wenn Sie nicht hören auf den Standard).InformationsquelleAutor Remus Rusanu
Ich würde Kommentar Mark Stewart's Bemerkung, aber der Ruf fehlt. Meine Quelle nicht erwähnt /db_name und ich kann nicht ankommen es zu wirken. Vielleicht ein weiterer Fall von verwirrt Instanz-Namen?
InformationsquelleAutor Bart de Kort
Stellen Sie sicher, verlassen Sie die port-definition aus, wie die cluster bestimmen diese für Sie.
Also meine datasource-definition sieht wie folgt aus:
jdbc:sqlserver://sqlcluster_hostname\instancename;DATABASENAME=databasename;sendStringParametersAsUnicode=false;SelectMethod=direct
Ich lief in dieses Problem, während Sie versuchen, setup einen Railo Datenquelle, um eine Verbindung zu MSSQL-cluster.
Etwas off-topic ... standard Railo datasource MSSQL-Treiber-option setzt den port auf "-1", wenn Sie lassen Sie das Feld port leer aber wenn du es auf "0" ist, dann entfernt die port-definition zusammen-und dann funktioniert alles. Aber der beste Weg ist, wählen Sie "Andere - JDBC-Treiber' zu definieren, die die JDBC-Verbindung string in vollem Umfang als oben.
InformationsquelleAutor ConceptRat