Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 26, 2010 11:45:14

quazatron
От:
Зарегистрирован: 2010-08-26
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ceODBC + CGI

Подскажите 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)



Отредактировано (Авг. 26, 2010 11:46:36)

Офлайн

#2 Авг. 27, 2010 06:16:50

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

ceODBC + CGI

Ну ошибка звучит как “Недопустимый атрибут строки подключения”, а какой именно ищите сами, я с ceODBC не работал.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Авг. 27, 2010 09:10:24

quazatron
От:
Зарегистрирован: 2010-08-26
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

ceODBC + CGI

Спасибо за расшифровку. Помогли ребята с 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. :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version