2015-06-26 6 views
6

Ausführen von SQL Server 2012 Express auf einem Remotecomputer, mit dem versucht wird, Flyway in Betrieb zu nehmen. Ich habe eine Datenbank auf pcesqldev.pce.localHawk genannt (dbo.Hawk, wenn es ankommt), dass ich an, eine Verbindung herstellen möchten und die Vorlage aus der Konfigurationsdatei sieht wie folgt aus:Wie lautet die korrekte Syntax für eine Flyway-Verbindungszeichenfolge zu SQL Server?

SQL Server  : jdbc:jtds:sqlserver://<host>:<port>/<database> 

Hinweis, dann ist dies unterscheidet sich von anderen jdbc-Verbindungszeichenfolgen Ich habe mit anderen Produkten verwendet - die meisten von ihnen enthalten nicht den jtds-Teil und enthalten den Instanznamen.

Hier ein paar Verbindungszeichenfolgen, die ich versucht habe, die alle gescheitert:

  • flyway.url=jdbc:jtds:sqlserver://pcesqldev.pce.local:1433/Hawk 
    

    Netzwerkfehler IOException: Connection refused:

  • flyway.url=jdbc:jtds:sqlserver://pcesqldev.pce.local\SQLEXPRESS:1433/Hawk 
    

    verbinden

    Name des unbekannten Serverhosts 'pcesqldev. pce.local \ SQLEXPRESS‘

  • flyway.url=jdbc:jtds:sqlserver://pcesqldev.pce.local/SQLEXPRESS:1433/Hawk 
    

    Netzwerkfehler IOException: Connection refused: connect

  • flyway.url=jdbc:jtds:sqlserver://pcesqldev.pce.local:1433/SQLEXPRESS\Hawk 
    

    Netzwerkfehler IOException: Connection refused: connect

Was fehlt mir? Es muss etwas offensichtlich sein, aber ich kann es nicht sehen.

Bevor jemand fragt, ja wir TCP-Zugriff zu tun haben, die Datenbank aktiviert und es wird über Port 1433

Antwort

3

Dieser bekam mich, und es gab nicht viele Antworten darauf, wie man eine Verbindungszeichenfolge mit einem Instanznamen formatiert.

Hier ist, was für mich gearbeitet:

flyway.url=jdbc:jtds:sqlserver://<host>:<port>/<database>;instance=<instance_name> 
+0

Dies sieht vielversprechend aus. Ich bin in einer Krise, um diese Veröffentlichung fertig zu bekommen, werde aber deinen Vorschlag versuchen, sobald ich eine Pause habe und dich wissen lassen, wie es funktioniert. – DaveN59

+0

das ist Arbeit für mich danke –

2

Falls jemand die Probleme, die richtige Verbindungszeichenfolge ist wie folgt:

flyway.url=jdbc:jtds:sqlserver://SERVER_INSTANCE_NAME:1433/DB_NAME 

Es nahm mir etwas Zeit, um das zu realisieren, aber vielleicht wird es für jemanden hilfreich sein :)

0

Das hat meinen Kopf ein wenig.

Die Verbindungszeichenfolge, die ich verwendet habe, war dies (als Parameter an die Befehlszeile in Flyway übergeben).

Beachten Sie auch, dass der Mydatenbankname bereits vorhanden sein muss.

./flyway migrate -url=jdbc:jtds:sqlserver://localhost:1433/mydatabasename -user=myuser -password=mypassword -baselineVersion=269 -baselineDescription="Base version" -outOfOrder=true -baselineOnMigrate= 

Ein Stück, das allerdings fehlte, war, dass ich nicht SQL Server-Browser ausgeführt wurde und habe möglicherweise nicht TCP richtig eingestellt:

Vom SQL Server Abschnitt here. Nachdem die Installation abgeschlossen ist, TCP/IP aktivieren:

Starten Sie den SQL Server Configuration Manager Gehen Sie zu SQL Server-Netzwerkkonfiguration -> IP-Adressen - -> Protokolle für SQLEXPRESS TCP/IP TCP/IP-Eigenschaften aktivieren> IPAll Dynamische TCP-Ports: blank TCP-Port: 1433 Dann Remote-Zugriff aktivieren:

Starten Sie den SQL Server Configuration Manager SQL Server Services -> SQL Server-Browser -> Eigenschaften -> Service Tab Startmodus: Automatische OK SQL Server Browser -> Start SQL Server -> Neustart

Verwandte Themen