PYmssql Строка подключения Python

Я загрузил Pymssql для подключения к базе данных sqlserver, но строка подключения выдает error-pymssql.connect(pymssql.c.:7990)

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')

3 ответа

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

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

Моя настройка:

  • Microsoft Windows XP SP3.
  • Microsoft SQL Server 2008 (не R2).
  • CPython 2.7.4.
  • pymssql 2.0.0 (устанавливается с easy_installIIRC).

Я забыл создать sa логин, так что я помню, как несколько недель назад удалил способ его создания; Ранее я входил (например, с помощью SQL Server Management Studio) с аутентификацией Windows. Я следовал за /questions/3729224/kak-izmenit-parol-v-sql-server-2008-express/3729226#3729226 чтобы создать 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

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

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

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

pymssql.connect(host='username\SQLEXPRESS',user='username',password='pwd',database='master',chartset="your_charset")
Другие вопросы по тегам