2013-03-29 3 views
2

Я скачал Pymssql для подключения к SQLServer дб, но в строке подключения бросает ошибки-pymssql.connect (pymssql.c.:7990)PYmssql строка соединения питон

import pymssql 
pymssql.connect(host='username\SQLEXPRESS',user='username',password='pwd',database='master') 

Любой везло подключения к SQLServer ?

Error: 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "pymssql.pyx", line 556, in pymssql.connect (pymssql.c:7990) 
    raise OperationalError(e[0]) 
pymssql.OperationalError: (20009, 'Net-Lib error during Unknown error') 

ответ

0

Моя установка:

  • Microsoft Windows XP SP3.
  • Microsoft SQL Server 2008 (не R2).
  • CPython 2.7.4.
  • pymssql 2.0.0 (установлен с easy_install, IIRC).

Я забыл создать учетную запись для входа sa, поэтому я помню, как было несколько недель назад, чтобы создать способ ее создания; ранее я регистрировался (например, с помощью SQL Server Management Studio) с помощью проверки подлинности Windows. Я выполнил https://stackoverflow.com/a/3781737, чтобы создать учетную запись пользователя sa.

После этого промежуточного шага я начал Python.

import pymssql 
conn = pymssql.connect(host=r'MACHINE\SQLEXPRESS', user=r'sa', password=r'password', database=r'MYDB') 
cur = conn.cursor() 
cur.execute(r'SELECT COUNT(*) FROM mytable') 
row = cur.fetchone() 
print row[0] 
cur.close() 
conn.close() 

Моя догадка с вашей проблемой является то, что вы должны были использовать сырые строки в параметрах соединения - в частности, параметр host, который принимает в обратную косую черту.

Я также пробовал его с 64-разрядной машиной CentOS 5.8 (pymssql 1.0.2, freetds 0.91). С этой целью я также создал $HOME/.freetds.conf файл с содержимым в

[global] 
tds version = 10.0 

[MACHINE] 
host = 192.168.1.2 
port =1433 
tds version = 10.0 
encryption = request 

Я забыл, где я взял пример конфигурации этого файла из.

Надеюсь, что это поможет.

1

Я столкнулся с тем же Net-Lib error during Unknown error сообщение об ошибке. Для меня проблема заключалась в том, что мне нужен , чтобы включить TCP/IP и именованные каналы в моем экземпляре SQL Server Express.

Попробуйте войти в диспетчер конфигурации SQL Server и включить TCP/IP и именованные каналы.

+0

Вам нужно сделать и настроить IP и запустить службу –

-3

вы должны объявить образец кодировок :

pymssql.connect(host='username\SQLEXPRESS',user='username',password='pwd',database='master',chartset="your_charset") 
+0

браузера SQL Server Это не имеет ничего общего с вышеуказанной ошибкой. – floqqi

Смежные вопросы