2015-06-26 131 views
6

在遠程計算機上運行SQL Server 2012 Express,嘗試啓動並運行Flyway。我有pcesqldev.pce.local數據庫名爲Hawkdbo.Hawk,如果該事項),我想連接,並從配置文件模板看起來是這樣的:到SQL Server的Flyway連接字符串的正確語法是什麼?

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

注意,這是從其他的JDBC連接字符串不同我曾與其他產品一起使用 - 其中大多數不包含jtds部分,並且包含實例名稱。

這裏,我已經嘗試了一些連接字符串,所有這些都失敗:

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

    網絡錯誤IOException:連接被拒絕:連接

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

    未知服務器主機名'pcesqldev。 pce.local \ SQLEXPRESS」

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

    網絡錯誤IOException:連接被拒絕:連接

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

    網絡錯誤IOException:連接被拒絕:連接

我錯過了什麼?必須有明顯的東西,但我看不到它。

有人問之前,是的,我們確實有啓用該數據庫的TCP連接,它使用端口1433

回答

3

這一個讓我,並沒有太多的答案在那裏如何格式化連接字符串與實例名稱。

下面是我工作:

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

這看起來很有希望。我很擔心要完成此版本,但只要我休息一下並嘗試瞭解它是如何工作的,就會嘗試您的建議。 – DaveN59

+0

這對我來說很感謝 –

2

如果任何人的問題,正確的連接字符串如下:

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

它花了我一些時間才意識到這一點,但也許這將有助於某人:)

0

這做我的頭一會兒。

我使用的連接字符串是this(作爲參數傳遞給命令行上的flyway)。

還要注意mydatabasename需要已經存在。

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

一塊是缺失,雖然是我未運行SQL Server瀏覽器,可能沒有TCP設置正確:

從SQL Server部分here。 安裝完成後,啓用TCP/IP:

啓動SQL Server配置管理器 轉到SQL Server網絡配置 - >爲SQLEXPRESS Protocols啓用TCP/IP TCP/IP屬性 - > IP地址 - > IPAll TCP動態端口:空白 TCP端口:1433 然後啓用遠程訪問:

啓動SQL Server配置管理器 的SQL Server服務 - > SQL Server瀏覽器 - >屬性 - >服務選項卡 啓動模式:自動 好的 SQL Server Browser - >開始 SQL Server - >重新啓動

相關問題