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

Я загрузил 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')

person user1050619    schedule 29.03.2013    source источник


Ответы (3)


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

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

person Matt    schedule 21.12.2013
comment
Вам нужно сделать это И настроить ip И запустить службу браузера SQL Server. - person Christophe Blin; 19.07.2016

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

  • 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

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

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

person jbatista    schedule 16.05.2013

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

pymssql.connect(host='username\SQLEXPRESS',user='username',password='pwd',database='master',chartset="your_charset")
person user3126553    schedule 22.12.2013