在Python中从URL读取XML并以XML格式写入SQL Server数据库

0 投票
1 回答
1607 浏览
提问于 2025-04-17 15:46

我想从一个网页地址读取一个XML文件,然后把这个文件以XML数据类型的形式写入Sql Server数据库。我不想对XML进行任何解析,只想像写字符串一样把它写入数据库。我打算每隔几个小时拍一次快照,然后用Sql来处理这些XML数据。

目前我遇到了下面提到的错误:

'IOError: [Errno socket error] [Errno 11001] getaddrinfo failed'  

我不确定我是否正确地把XML文件作为一个整体读取 - 有什么建议吗?

import pyodbc
import urllib
xmlpath = "http://www.w3schools.com/xml/cd_catalog.xml"
xmlurl= urllib.urlopen(xmlpath)
xml_as_string = xmlurl.read()


cnxn = pyodbc.connect(
    'Trusted_Connection=yes; 
    DRIVER={SQL Server};
    SERVER=servername; 
    DATABASE=database_name; 
    UID=user; 
    PWD=pass'
) 
cursor = cnxn.cursor()
cursor.execute("insert into table values ('Text', 1, '"+ xml_as_string +"')") 
cnxn.commit()

1 个回答

1

错误信息 [Errno 11001] getaddrinfo failed 表示你遇到了一些DNS问题。

你可以试着对“服务器名称”进行ping测试。一个简单的解决办法是把“服务器名称”变量中的域名换成IP地址。

另外,你也可以在网上搜索一下: Errno 11001 getaddrinfo

撰写回答