sql-server - AWS Glue 中的 SQL Server 命名实例连接字符串
问题描述
我研究了一段时间,但没有找到任何针对这个特定问题的东西:
我正在尝试在 AWS Glue 中使用命名实例 SQL Server(本地)创建连接
我尝试了很多连接字符串格式的变体,但都没有奏效。例如:
jdbc:sqlserver://HOST\INSTANCE_NAME;databaseName=DB_NAME
- AWS 控制台不允许我保存,因为它没有端口 (:port)jdbc:sqlserver://HOST\INSTANCE_NAME:1433;databaseName=DB_NAME
- AWS 控制台让我保存,但它无法连接,因为它转义了反斜杠之后的所有内容jdbc:sqlserver://HOST\\INSTANCE_NAME:1433;databaseName=DB_NAME
- 使用两个反斜杠修复了之前的问题,但现在 AWS 认为端口是实例名称的一部分,因此无法连接jdbc:sqlserver://;instanceName=INSTANCE_NAME;serverName=HOST:PORT;databaseName=DB_NAME
- 我真的认为这会起作用,因为 AWS 认识到我正在尝试连接到一个命名实例,但它不理解主机:端口(它认为它是一个 IPV6 地址)
我尝试了更多的变化,但你明白了。
我相信这是关于 AWS Glue 如何在内部分解连接字符串的一个特殊问题
非常感谢任何有关查找 AWS Glue 理解的工作连接字符串(使用命名实例)的帮助。
解决方案
您可以在连接字符串中指定端口号而不是实例名称。
命名实例通常配置为侦听 1433 以外的端口,因此您需要确定实例列出的连接字符串规范的实际端口号。该端口列在“SQL Server 网络配置-->协议-->TCP/IP-->IP 地址”下的服务器配置管理器中。端口号也列在 SQL Server 错误日志“服务器正在侦听...”消息中。
仅具有非默认端口号的示例连接字符串:
jdbc:sqlserver://HOST:12345;databaseName=DB_NAME
推荐阅读
- c# - 我可以从 Visual C# 项目中的 WPF 应用程序部署 Web 服务 api 吗?
- reactjs - 尝试更新时状态始终为初始值
- javascript - 获取鼠标点击的位置,点击的元素是参考点
- postgresql - 如何使用 CTE 进行列的乘法运算
- javascript - 设置状态导致 TypeError: this is undefined
- java - 参数中的 Java 语法
- powershell - (Get-Date).ToUniversalTime() 转换为字符串但不更改格式
- java - 在 Android Things 中使用 SharedPreferences
- mysql - 想用两个请求值查找
- javascript - 在异步存储中保存和删除每周计划反应原生