sql-server - 使用 FreeTDS 连接到 Raspberry Pi 上的 Azure SQL 服务器
问题描述
我设计了一个 python 脚本,它执行一些操作,然后写入 Azure SQL 服务器。最初,我在 Windows 机器上编写脚本,一切正常。现在我想在现场的树莓派上部署脚本。我打嗝的地方是试图让 pi 写入 SQL 服务器。我使用 FreeTDS 作为我的 pyodbc 驱动程序,我的 .ini 文件和配置文件如下所示:
odbcinst.ini
Description = FreeTDS Driver
Driver=/usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.so
Setup=/usr/lib/arm-linux-gnueabihf/odbc/libtdsS.so
fileusage=1
dontdlclose=1
usagecount=1
odbc.ini
Driver = FreeTDS
Description = Azure cloud SQL server
Trace = no
ServerName = azure
database = main
TDS_Version = 7.0
freetds.conf
[azure]
host = ************.database.windows.net
port = 1433
tds version = 7.0
instance = MSSQLSERVER
蟒蛇方法
def writeData():
server = '***************.database.windows.net'
database = 'main'
username = '****'
password = '************'
driver = '{FreeTDS}'
with pyodbc.connect(
'DRIVER=' + driver + ';SERVER=' + server + ';PORT=1433;DATABASE=' + database + ';UID=' + username + ';PWD=' + password) as conn:
with conn.cursor() as cursor:
cursor.execute(
"UPDATE dbo.server_ips SET ip_address = ?, port = ?, DateTime= ? WHERE server = 1;", (external_ip, port, datetime.now()))
pyodbc.OperationalError: ('08001', '[08001] [FreeTDS][SQL Server]Unable to connect to data source (0) (SQLDriverConnect)')
我不确定我做错了什么,我已经尝试寻找答案,但到目前为止都是空的。
解决方案
事实证明,ARM 尚不支持写入 azure sql server。我相信很快就会考虑 Windows 11 在 ARM 处理器上运行。
推荐阅读
- python-3.x - 使用 Pandas 计算标准差时出错
- javascript - JS:如何防止竞争条件?
- powerbi - 如何使用 DAX Power BI 按百分比计算每个变量的值
- android - 为什么我的 Admob 横幅在重新加载时会闪烁到顶部?
- python - 将多个滑块拟合到 matplotlib 交互式图形
- jquery - 在表格中添加新的原始数据后,javascript单击功能不起作用
- python - 当我只放一个时,为什么会有两个位置参数?
- regex - 用带条件的 perl 正则表达式替换文本块
- python - 如何创建从伪代码到统一成本搜索的算法?
- asp.net - asp.net web api登录和注册没有控制器前缀的路由