pymssql登陸本地sql server 伺服器
編譯環境
名稱 | 備註 |
---|---|
本地sql server伺服器 | sql server 2014 Express |
pymssql | pymssql 2.1.1,通過pip install 安裝 |
python編譯器 | pycharm 5.0 community |
除錯流程
1.呼叫sql server management studio(以下簡稱ssms)監測是否可以連結,發現沒問題;
2.編寫python測試程式碼
import pymssql
connect = pymssql.connect(host='DESKTOP-16D8IE2\SQLEXPRESS', user = 'sa', password ='****', database='****')
其中host放的是第一步ssms中的伺服器名稱,除錯報錯:
Traceback (most recent call last):
File "E:/��������/2015/��ģʽ����/Code/test/test.py", line 3, in <module>
connect = pymssql.connect(host='DESKTOP-16D8IE2\SQLEXPRESS', user = 'sa', password ='Chinkun65613303', database='tsqx')#127.0.0.1:2301
File "pymssql.pyx", line 639, in pymssql.connect (pymssql.c:10246)
pymssql.InterfaceError: Connection to the database failed for an unknown reason.
3.搜google,各種原因解釋:
原因 | 備註 |
---|---|
字符集設定,就是在pymssql.connect()中新增例如“charset=”UTF-8””之類 | 試了下,並沒什麼效果 |
字串改用raw,host=r’Desk**’ | 沒用 |
官網上和一些stackoverflow上提到的freetds的配置問題freetds下載測試 | 後來自己安裝了windows下的freetds,沒找到配置檔案freetds.conf,猜測pymssql的windows版已經應該已經整合了freetds,不需要另外再裝,後面的結果也證實了這點 |
4.freetds發現埠問題
安裝完freetds後輸入
tsql -H DESKTOP-16D8IE2\SQLEXPRESS -p 1433 -U sa -P **** -D ****
系統報錯:
locale is "Chinese (Simplified)_China.936"
locale charset is "GBK"
using default charset "UTF-8"
Setting tsqx as default database in login packet
Msg 18456 (severity 14, state 1) from DESKTOP-16D8IE2 Line 1:
"鐢ㄦ埛 'sa' 鐧誨綍澶辮觸銆?
Error 20002 (severity 9):
Adaptive Server connection failed
There was a problem connecting to the server
google後發現是埠問題,在sql server 配置管理器中配置TCP/IP的埠後tsql可以正常登陸。
解決方案
1.開啟sql server 配置管理器,在SQL SERVER 網路配置-》SQLEXPRESS協議-》TCP/IP設定為啟動,
在IP位址列最下方有個IPALL選項,清空TCP動態埠,設定下面的TCP埠為任一合理值,這裡設為2301,
儲存後重啟sql server 服務(smss中可以重啟)
2.實現程式碼
import pymssql
connect = pymssql.connect(host='127.0.0.1:2301', user = 'sa', password ='****', database='****')
相關文章
- SQL Server 首次登陸 Linux 平臺SQLServerLinux
- 無法使用SQL login去登陸SQL Server - 'Password did not match'SQLServer
- 無法使用SQL login去登陸SQL Server - 'Password did not match'SQLServer
- [提問交流]本地正常 上傳到伺服器後無法登陸伺服器
- MySQL login-path 本地快捷登陸MySql
- 怎麼登入伺服器 如何登陸伺服器伺服器
- 快速登陸linux伺服器Linux伺服器
- Jtti:sql server連不上本地伺服器怎麼辦?JttiSQLServer伺服器
- 如何遠端登陸管理伺服器伺服器
- linux 本地賬號密碼無法登陸(shell可以登入),一直返回 登陸的login介面Linux密碼
- SQL Server連線SQL Server、SQL Server連線ORACLE 連結伺服器SQLServerOracle伺服器
- SQL SERVER 2008 登陸失敗(SQL和windows都沒有對應的許可權)SQLServerWindows
- 【SQL Server】本地備份和還原SQLServer
- SSH安全登陸原理:密碼登陸與公鑰登陸密碼
- 伺服器多少錢 最好如何登陸伺服器?伺服器
- 如何登陸網站後臺伺服器網站伺服器
- 配置VS2008自帶的SQL Server 2005 Express sa登陸SQLServerExpress
- 允許本地Sql Server 遠端連線SQLServer
- 登陸vCenter Server提示沒有許可權問題Server
- Ubuntu SSH 使用指定私鑰登陸伺服器Ubuntu伺服器
- Linux伺服器批量ssh免密登陸Linux伺服器
- xmanger圖形化登陸遠端伺服器伺服器
- ssh方式登入雲伺服器時設定別名登陸伺服器
- MySQL命令列登陸,遠端登陸MySQLMySql命令列
- X64 Linux 無法從本地字元介面登陸Linux字元
- 本地連線時,通過localhost不能登陸到指定的埠localhost
- oracle 登陸Oracle
- 共享登陸
- 伺服器安全之 伺服器只允許指定IP登陸伺服器
- 總結SSH登陸故障:expected key exchange group packet form serverORMServer
- 雲伺服器遠端登陸黑屏怎麼辦伺服器
- 利用SQL SERVER建立登入WINDOWS帳號SQLServerWindows
- vsftpd 本地使用者無法登陸 530 Login incorrectFTP
- 資料庫hang分析(sql*plus不能登陸)[轉載]資料庫SQL
- 做一個php登陸頁面,用pc登陸和用手機登陸彈出來的登陸頁面不一樣。PHP
- webpack(10)webpack-dev-server搭建本地伺服器WebdevServer伺服器
- RHEL 6.5 登陸後放回登陸介面,迴圈登入問題
- SQL SERVER 跨伺服器查詢SQLServer伺服器