首页 > 解决方案 > 如何从 python 脚本转发到 rds 实例

问题描述

如何将 rds 实例从堡垒主机移植到rds sql server实例?

通常,我像这样从堡垒主机进行端口转发:ssh -L 20004:targeted-mssql-rds.aws.com:1433 knn0926@my_bastion_host.com这将允许我调用localhost:20004我的数据库连接。但是,这似乎不起作用,也不是通过 python 脚本中的端口转发连接到数据库的正确过程。每次我尝试连接时,都会出现以下错误:pyodbc.OperationalError: ('HYT00, [HYT00] [Mircosoft][ODBC Driver 17 for SQL Server]Login timeout expired(0) (SqlDriverConnect)). 我也在Mac上,所以我不确定这与Windows相比是否有所不同。

我认为我的代码很容易连接:

import pyodbc
import pandas as pd
import io
import os

#listing drivers
for driver in pyodbc.drivers():
  print(driver)

#Make db connection
sql_connect = pyodbc.connect("Driver = {ODBC Driver for SQL Server}; SERVER=localhost,20004; database=simpsons;uid=my_user;PWD=my_pwd, autocommit=True")

cursor.execute('''select * from spp.transactions where acx_num > 1000''')

我是否应该在 python 代码本身中连接到我的堡垒和 mssql 实例?我对它失败的原因以及如何正确地将其连接到我的代码感到困惑。

标签: pythonsql-serveramazon-web-servicessshssh-tunnel

解决方案


推荐阅读