到SQL Server的Flyway连接字符串的正确语法是什么?
在远程计算机上运行SQL Server 2012 Express,尝试启动并运行Flyway。我有pcesqldev.pce.local
数据库名为Hawk
(dbo.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
这一个让我,并没有太多的答案在那里如何格式化连接字符串与实例名称。
下面是我工作:
flyway.url=jdbc:jtds:sqlserver://<host>:<port>/<database>;instance=<instance_name>
如果任何人的问题,正确的连接字符串如下:
flyway.url=jdbc:jtds:sqlserver://SERVER_INSTANCE_NAME:1433/DB_NAME
它花了我一些时间才意识到这一点,但也许这将有助于某人:)
这做我的头一会儿。
我使用的连接字符串是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 - >重新启动
这看起来很有希望。我很担心要完成此版本,但只要我休息一下并尝试了解它是如何工作的,就会尝试您的建议。 – DaveN59
这对我来说很感谢 –