Я пытаюсь подключить AWS Glue к Azure SQL Server через JDBC. Я пробовал разные настройки для URL JDBC без успеха. 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 говорит мне, что само соединение должно выглядеть так:
jdbc:sqlserver://domain.windows.net:1433;database=database
Может быть, это проблема, но я не уверен, как ее решить.