i'm trying to do a job in glue who take data from a sql server in rds.
I have a glue conection working fine when the job is made with no code.
but when i use the same code in a notebook, i get this error:
Py4JJavaError: An error occurred while calling o101.getDynamicFrame.
: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host db-req-prd.cd9u6vtrngvz.us-east-1.rds.amazonaws.com, port 1433 has failed. Error: "connect timed out. 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.".
my code below:
tb_node= glueContext.create_dynamic_frame_from_catalog(
connection_type = "JDBC",
url = "jdbc:sqlserver://blablabla",
useConnectionProperties = "true",
connectionName = "connection",
database = "db",
table_name = "table",
transformation_ctx = "tb_node",
useSparkDataSource = "True"
)
table.show()
I've already tried the simpler way too:
tb_node= glueContext.create_dynamic_frame.from_catalog(
database="db",
table_name="tb",
transformation_ctx="tb_node",
)
The same code but conecting in a S3 works fine!
dyf = glueContext.create_dynamic_frame.from_catalog(database='db_s3', table_name='s3_table')
What's wrong? The cloud security guy said all this TCP/IP properties by sql server its ok
wow, thanks so much Gonzalo. I spent a lot of time trying and just this 2 rows resolved %region us-east-1 %connections rds_connection