JDBC连接失败

问题描述 投票:0回答:2

我正在尝试通过JDBC将AWS Glue连接到Azure SQL Server。我已经尝试了jdbc url的不同设置但没有成功。 URL的外观如下:

jdbc:sqlserver://domain.windows.net:1433/database
jdbc:sqlserver://domain.windows.net:1433;databaseName=database

在AWS的文档中,SQL Server语法是jdbc:sqlserver://host:port;databaseName=db_name

出于测试目的,我使用了Squirrel SQL并使用它成功连接到我的Azure SQL Server。

当我尝试在AWS Glue中进行测试连接时,AWS CloudWatch会为我提供以下日志:

Attempting to connect with SSL: jdbc:sqlserver://domain.windows.net:1433;database={database}
SSL connection to data store failed. Retrying without SSL.
Check that your connection definition references your JDBC database with correct URL syntax, username, and password. The TCP/IP connection to the host domain.windows.net, port 1433 has failed. Error: "Connection timed out: no further information. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".

对我来说似乎很奇怪的是连接中的'{'括号。 Azure的Connection String告诉我,连接本身应如下所示:

jdbc:sqlserver://domain.windows.net:1433;database=database

也许这是问题,但我不知道如何解决它。

sql-server amazon-web-services jdbc etl aws-glue
2个回答
0
投票

您可以从squirrel成功连接到Azure SQL; Azure端的东西很好。

一个问题可能是SSL;但最有可能的并不是因为它在没有SSL的情况下重试也失败了。

在胶水端;请查看该端口是否允许出站连接。


0
投票

您必须设置在JDBC连接期间定义的安全组的出站和入站规则。将出站规则设置为允许的所有流量。还允许在azure数据库中使用tcp流量。

© www.soinside.com 2019 - 2024. All rights reserved.