⑴ linux 下用python連接windows下sqlserver報錯
基本上每個linux都安裝有python,幾乎每個unix也安裝有python,包括蘋果的OS。android。
windows下通常安裝包都比較健壯。應該用得也很多。如果你安裝出現問題往往是因為這個模塊沒有提供windows下的安裝包。你可以查一下unoffice python mole(好象是這個名子),裡面有些包是別人編譯好的,可以直接用。
主要問題還是windows使用的編譯器是visual studio。而linux , unix很多都是兼容gcc的。象windows這樣沒有unix血統的操作系統,現在已經很少了,大規模使用僅僅微軟一家支持。其它的廠商大多都有unix的傳承與習慣。所以windows與unix之間的問題就顯得比較的突出。
linux下命令行比較方便。不過圖形界面並不是很強大。windows的圖形界面通常好。另外windows下的游戲也特別好。 如果你開發游戲通常只能在windows下做了。手機除外。
linux下的python通常比較的強大,因為它的包,它的工作方式通常會比較的流暢。象管道,事件,共享內存等等都比較容易使用。
⑵ python連接sqlserver資料庫有中文符號提示錯誤怎麼辦
新建表
別用中文,用英文命名
⑶ python3 sqlserver第三方模塊有哪些
我一般就是去看這個庫的官方文檔,一般都會有說明,如果沒有,那麼就去找它的示例,看看是print還是print()
⑷ python連接sqlserver資料庫報錯,是什麼原因
這個是靜態分析時 沒匹配到這個成員方法
至於運行時 有沒有這個方法 可以用 print dir(conn)看下 應該是有的
⑸ python連接sqlserver哪個性能好
解決辦法
到伺服器中
1.確定資料庫的登錄用戶名與密碼是否正確
2.配置sqlserver支持遠程連接
參考鏈接:
【1】SQL Server 2008 R2如何開啟資料庫的遠程連接
【2】當使用第一個鏈接配置時,我遇到「sqlserver browser 無法啟動的錯誤」。解決辦法:進入服務管理器,找到 SQL SERVER BROWER右擊屬性打開,啟動模式為 手動或者自動,再啟用SQL SERVER BROWER服務。
⑹ 請問大神有知道為什麼python連接sqlserver返回始終是None呢
cursor.execute(sql)應該是不返回的,要想看結果應該是cursor.fetchall()。
conn=pymysql.connect(host='127.0.0.1',port=3306,user='user',passwd='pass',db='db',charset="utf8")
try:
withconn.cursor()ascursor:
cursor.execute(sql)
returncursor.fetchall()
finally:
conn.close()
⑺ python3 mssql 讀取資料庫fetchall 怎樣包括列名數據返回呢
你這種格式讀取不了,沒有對應的函數
⑻ python連接sqlserver資料庫問題
conn=pymssql.connect(host='.',database='wincc')
conn=pymssql.connect(host='.',database='sqlex')
這樣連接不上嗎?希望能提供更多信息。
⑼ Python3連sqlsver沒反應,怎麼破,每次到連接操作就直接卡住了
以前用php連mssqy時也經常出現中文亂碼(中文變問號)的問題,那時就明白是編碼沒設置好導航,現在的Python連mssql資料庫也同樣出現這問題,問題一樣,解決的辦法當然也會相似,現在我們來看看解決方法。
python一直對中文支持的不好,最近老遇到編碼問題,而且幾乎沒有通用的方案來解決這個問題,但是對常見的方法都試過之後,發現還是可以解決的,下面總結了常用的支持中文的編碼問題(這些方法中可能其中一個就能解決問題,也可能是多個組合)。
(1)、首先,要保證文件的開頭要加上編碼設置來說明文件的編碼
代碼如下
復制代碼
#encoding=utf-8
(2)、然後,在連接數據的連接參數里加上字元集說明查詢出的結果的編碼,這個不加的後果可能是查詢出的漢字字元都是問號
代碼如下
復制代碼
conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')
(3)、設置python系統的默認編碼(對於文件來說,這招幾乎屢試不爽,呵呵~~)
代碼如下
復制代碼
import sys
reload(sys)
sys.setdefaultencoding('utf8')
注意:上述編碼是「utf8」,而不是「utf-8」,我也沒弄明白,大部分情況下,這個無所謂的,但是這里我試了必須要是「utf8」
一個簡單的完整的python連接mssqlserver的例子如下(得安裝pymssql包):
代碼如下
復制代碼
#encoding:utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import pymssql
try:
conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')
sql="select * from UserInfo"
cur=conn.cursor()
cur.execute(sql)
data=cur.fetchall()
conn.close()
print data
except Exception,e:
print e
運行結果如下:
代碼如下
復制代碼
[(u'20093501', u'xb9xf9xbexb8', u'u7537 ', 35, u'xb4xf3xcfxc0'),
(u'20093502', u'xbbxc6xc8xd8', u'u5973 ', 34, u'xc3xc0xc5xae'),
(u'20093503', u'xc1xeexbaxfcxb3xe5', u'u7537 ', 25, u'2Bxc7xe0xc4xea'),
(u'20093504', u'xc8xcexd3xafxd3xaf', u'u5973 ', 24, u'xc6xafxc1xc1')]
[Finished in 0.2s]
雖然擺脫了問號和亂碼的困擾,但這仍不是我們想要的結果,但這個確實是正確的,因為結果是utf8編碼。這個現象確實詭異,請教了許多高手,得知,最好的結果就是逐個欄位查詢,才能顯示中文,整個查詢的話,會以utf8的格式顯示出來。
上述代碼中第14行data是整個查詢的結果,如果指定某個具體的欄位,如print data[0][2](表示取查詢結果的第一行第三列的欄位的值),則會輸出中文。
其實不僅僅是mssqlserver資料庫,mysql(需下載MySQLdb包)、sqllite(python自帶的文件資料庫)、mongodb(需下載PyMongo包)等或者是普通文本文件也是類似的解決方案。
⑽ python怎麼連接sqlserver
如果使用pyodbc,直接看2就可以了,可以略過1
1. Python連接mssql
ubuntu linux上
1.1
sudo apt-get install python
1.2 重啟終端
1.3
sudo apt-get --assume-yes update
sudo apt-get --assume-yes install freetds-dev freetds-bin
sudo apt-get --assume-yes install python-dev python-pip
sudo pip install pymssql
1.4
sudo vi /etc/freetds/freetds.conf
2.安裝pyodbc
2.1為了解決pyodbc.h:52:17: fatal error: sql.h: No such file or directory
sudo yum install unixODBC-devel.x86_64
然後:
sudo pip install pyodbc
2.2安裝MSSQL native client
2.3
編寫Python程序:
import pyodbc
conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};
SERVER=aaaa; UID=bbbb; PWD=ccc; DATABASE=ddd; Encrypt=yes;
TrustServerCertificate=no');
cursor = conn.cursor()
cursor.execute("select count(distinct d) as cnt from ddddd6 where day_id=20160531")
row = cursor.fetchone()
while row:
print str(row[0])
row = cursor.fetchone()