对于SQL Server的Flyway连接字符串的正确语法是什么?

时间:2015-06-26 18:37:42

标签: sql-server-2012 connection-string flyway

在远程计算机上运行SQL Server 2012 Express,尝试启动并运行Flyway。我在pcesqldev.pce.local上有一个名为Hawk的数据库(dbo.Hawk,如果这很重要),我想要连接到该数据库,配置文件中的模板如下所示:

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 个答案:

答案 0 :(得分:6)

这个让我知道了,关于如何使用实例名称格式化连接字符串的答案并不多。

这对我有用:

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

答案 1 :(得分:4)

如果有人遇到问题,正确的连接字符串如下:

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

花了一些时间才意识到这一点,但也许对某人有帮助:)。

答案 2 :(得分:0)

启动服务“ SQL Server代理(SQLEXPRESS)”已解决我的问题

步骤:

  • Windows + R->它将打开“运行”窗口
  • 键入“ services.msc”,不带双引号(“”)
  • 搜索SQL Server代理服务
  • 右键单击“ SQL Server代理”,然后转到“属性”
  • 将“启动类型”更改为“自动”并应用配置
  • 点击“应用”按钮后,将启用“开始”按钮,点击此按钮
  • 服务启动后,尝试再次执行flyway

Image Example