2013-02-13 62 views
0

我試圖從Web地址讀取XML文件並將該文件作爲XML數據類型寫入Sql Server數據庫。我不想對XML進行任何解析,只需將它像字符串一樣寫入數據庫即可。我將使用它每隔幾個小時拍攝一次快照,然後使用Sql將這些信息作爲XML數據類型處理。從Python中讀取XML中的XML並以XML格式寫入到Sql Server數據庫

我目前收到以下提到的錯誤:

'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() 
+0

嘗試使用urllib2代替urllib – sneawo 2013-02-13 16:20:13

+0

而不是隻發佈最後一個錯誤,請發佈完整的堆棧跟蹤。 – Pondlife 2013-02-13 17:11:54

+0

這是您網絡問題的標誌,特別是您的DNS,與您編寫的代碼無關。檢查您是否能夠從命令行解析域(即,通過使用nslookup或dig)。 – 2014-02-27 08:05:26

回答

1

[Errno 11001] getaddrinfo failed表明您正面臨一些DNS問題。

嘗試ping'servername'。快速修復可能是從域名切換到'servername'變量中的IP地址。

另外,請嘗試使用Google搜索:Errno 11001 getaddrinfo