PyODBC возвращают ошибку, но почему?

Я пробую, выполняют T-SQL-ЗАПРОС в двух случаях (я использую Win7, питон 3.2, экспресс SQL Server MS 2008, pyodbc для питона 3.2):

- случай 1:

используя Студию управления SQL Server MS я пытаюсь выполнить вопрос:

USE master;CREATE DATABASE Sales ON (NAME = Sales_dat,FILENAME = 'C:\saledat.mdf',        SIZE = 10,    MAXSIZE = 50,    FILEGROWTH = 5 ) LOG ON ( NAME = Sales_log,    FILENAME = 'C:\salelog.ldf',    SIZE = 5MB,    MAXSIZE = 25MB, FILEGROWTH = 5MB );

это возвращает успешный результат

- случай 2:

import pyodbc
cxnn=pyodbc.connect('DSN=SERVER;UID=sa;PWD=password')
cur=cxnn.cursor()
cur.execute("USE master;CREATE DATABASE Sales ON (NAME = Sales_dat,FILENAME = 'C:\saledat.mdf',    SIZE = 10,    MAXSIZE = 50,    FILEGROWTH = 5 ) LOG ON ( NAME = Sales_log,    FILENAME = 'C:\salelog.ldf',    SIZE = 5MB,    MAXSIZE = 25MB, FILEGROWTH = 5MB );")
cxnn.commit()

но после бегущего кода я получаю ошибку

 pyodbc.Error: ('HY000', 'The driver did not supply an error!')

Если я управляю кодом без

cxnn.commit()

я имею, не получают ошибки. Но почему?

3
nl ja de

2 ответы

По причинам я не вполне понимаю, урегулирование автосоглашаются быть верным, кажется, устраняет проблему. Обратите внимание на то, что возможность избежать наклонных черт влево все еще требуется.

Автопередайте может быть установлен двумя способами:

cxnn=pyodbc.connect('DSN=SERVER;UID=sa;PWD=password', autocommit=True)

Или:

cxnn=pyodbc.connect('DSN=SERVER;UID=sa;PWD=password')
cxnn.autocommit = True

Как только это сделано, создавание курсора и выполнение вопроса должны тогда бежать как ожидалось:

cur=cxnn.cursor()
cur.execute("USE master;CREATE DATABASE Sales ON (NAME=Sales_dat, FILENAME='C:\\saledat.mdf', SIZE=10, MAXSIZE=50, FILEGROWTH=5) LOG ON (NAME=Sales_log, FILENAME='C:\\salelog.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB );")
3
добавлено
Вы были в состоянии добраться, этот код, чтобы работать, используя автопередают?
добавлено автор Talvalin, источник
Это - хороший вопрос. Возможно, стоило бы спросить PyODBC dev?
добавлено автор Talvalin, источник
Нет, я пробую вашу последовательность (наклонными чертами влево спасения), но снова получаю ошибку pyodbc. Ошибка: (' HY000' ' водитель не поставлял ошибку! '). И если я бегу, код без передают (), все - работа без ошибки. Но без передают, я не могу спасти изменения DB
добавлено автор Vardan Arakelyan, источник
да, я подтверждаю, это работает с, автопередают, спасибо. Но почему это работает только с, автопередают?
добавлено автор Vardan Arakelyan, источник

В моем случае я просто должен был модернизировать pyodbc для него, чтобы работать.

pip install --upgrade pyodbc
0
добавлено
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community