在Python中从URL读取XML并以XML格式写入SQL Server数据库
我想从一个网页地址读取一个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。