Найти - Пользователи
Полная версия: ceODBC + CGI
Начало » Python для новичков » ceODBC + CGI
1
quazatron
Подскажите plz что может быть не так.
Запускаю этот код из консоли и все прекрасно соединяется, выборка из БД идет.
Но стоит запустить скрипт как CGI, в логах апач пишет:

connection = ceODBC.Connection(“SERVER=TEST_SERVER;DSN=Stream;DRIVER={SQL SERVER};USER=sa;PASSWORD=12345”)\r, referer: http://127.0.0.1/Unite/
ceODBC.DatabaseError: Login failed for user ‘MY_DOMAIN\\00003837$’.\r, referer: http://127.0.0.1/Unite/
\xcd\xe5\xe4\xee\xef\xf3\xf1\xf2\xe8\xec\xfb\xe9 \xe0\xf2\xf0\xe8\xe1\xf3\xf2 \xf1\xf2\xf0\xee\xea\xe8 \xef\xee\xe4\xea\xeb\xfe\xf7\xe5\xed\xe8\xff\r, referer: http://127.0.0.1/Unite/


#!C:/Python31/python.exe -u
#coding: cp1251
print("Content-Type: text/plain; charset=1251")
print()
print("Hello from Python!")

import ceODBC
#connection = ceODBC.Connection("SERVER=TEST_SERVER;DSN=Stream;DRIVER={SQL SERVER};USER=sa;PASSWORD=12345")
connection = ceODBC.Connection("SERVER=TEST_SERVER;DSN=Stream;DRIVER={SQL SERVER};UID=sa;PWD=12345")

print("here")

cursor = connection.cursor()
cursor.execute('use People')
cursor.execute('select n276 from fn72')
a=cursor.fetchall()

print(a)
PooH
Ну ошибка звучит как “Недопустимый атрибут строки подключения”, а какой именно ищите сами, я с ceODBC не работал.
quazatron
Спасибо за расшифровку. Помогли ребята с sql.ru. При виндовой авторизации для доступа предложили использовать DSN-less синтаксис строки подключения.

import ceODBC
cn=ceODBC.connect("Driver={SQL Server};Description=sqldemo;SERVER=TEST_SERVER;UID=sa;PWD=12345; DATABASE=Stream")
При таком подключении работает и из консоли и в CGI-режиме. Еще и с питоном 3.1. :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB