powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как соедениться с SQL 2000 из ASP
10 сообщений из 10, страница 1 из 1
Как соедениться с SQL 2000 из ASP
    #32067074
Kiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем, кто решил ознакомиться с проблемкой.

В ASP сценарии для соединения с SQL пишу:

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;Integrated Security=SSPI;Initial Catalog=DB;Data Source=Server;"

А в Internet Explorer пишет ошибку:

Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'GROK\IUSR_GROK'

Подскажите, что делать???
PS: Доступ к базе данных на сервере открыт для всех.
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067084
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо, для всех, кроме GROK\IUSR_GROK.
Добавьте этого товарисча в Logins. Или включите его в группу, которой уже дан доступ к SQL Server'у (естественно, НЕ в группу Администраторов)
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067085
Фотография Лëля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый!

А что, IIS на одном компе, а SQL на другом?

По ключевому слову IUSR поищите на этом форуме.
Уже обсуждали.

Удачи!

>Доступ к базе данных на сервере открыт для всех
А вот этого НЕ НАДО!!! В любом случае.....
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067106
Kiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И IIS и SQL Server на одном компе, а вот пользователя такого 'GROK\IUSR_GROK' я и не знаю, видно кто-то из системных юзеров.

В строке соединения пыталась писать вот так:
conn.Open ("DB"), где DB - System DSN (в ODBC);

соедиенеия ODBC из других приложений работает отлично, а через ASP опять таже ошибка.
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067110
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение ASP обращается к ресурсам от имени учетной записи GROK\IUSR_GROK. Так как соединение с SQL трастовое, в SQL-сервере должно быть разрешение на доступ для этой учетной записи. Это достигается заведением логина на SQL-сервере.
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067111
Nemizida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пользователь - 'GROK\IUSR_GROK' - это системный пользователь, от которого либо стартует либо запускает процессы IIS? точно не помню.

Я обычно делаю так -
Provider=sqloledb;Database=XXX;Trusted_Connection=no;UID=XXX;PWD=XXX
и все ОК
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067118
Dimos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Kiri,

на мой взгляд, существует несколько вариантов решения Вашей проблемы:
Вариант 1:
1. Для того, чтобы уйти от PCNAME\IUSR_PCNAME при работе ASP вам нужно включить Integrated Security (ну, или хотя бы Basic Authentication, но тогда желательно использовать SSL) на вашем веб-сервере
2. Включить опцию (если таковая имеется, но по-моему если я правильно помню, IIS и так поймет) когда IIS аутенцифицирует пользователя и в дальнейшем использует login credentials этого пользователя для всех дальнейших вызовов
3. Всех пользователей, которые могут работать с базой данных, добавить либо в домен, либо просто на веб-сервер, чтобы IIS мог спокойно провести аутентификацию.
4. Сконфигурировать SQLServer так, чтобы упомянутые выше пользователи (и только они + администраторы) получили к нему доступ - никаких "Доступ к базе данных на сервере открыт для всех"!!! :)

Недостаток подхода такого в том, что если у вас не интранет-приложение (где набор пользователей более или менее ограничен), то придется создавать кучу пользователей....

Вариант 2 (предпочтительный, но почему-то не всегда его реализуют):
Для всех "бизнес"-вызовов внутри ASP написать COM-компоненты, и там, внутри COM-библиотеки, уже коннектиться к SQL как вашей душеньке угодно.

Вариант 3 - сочетание первого и второго варианта.

С уважением, Дмитрий
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067202
kiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем большое, а Вам Дмитрий особенно.

Действительно совсем вылетело из головы, что нужно включить Integrated Security (ведь по умолчанию используется анонимный доступ как раз под именем HostName/IUSR_HostName)


Я пока пишу для Интранет, поэтому меня устроит первый способ, а вот с вариантом 2 - интересно, но что-то не очень понятно. Если можно для наглядности один примерчик COM-компонента, а дальше уж я разберусь.

Ещё раз всем спасибо!

PS: А на счет "Доступ к базе данных на сервере открыт для всех" это было громко сказано, а зато как Все отреагировали не ожидала!!!!
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067209
Dimos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такое понятие как "многоуровневые" приложения.
Самое распространенное количество уровней - 3
Уровень 0 - уровень данных.
Тут ваши соединения с базой данных, коннекшны и рекордсеты.
Уровень 1 - уровень бизнес-логики.
Тут расположены объекты, которые отвечают за бизнес-логику (получение списка клиентов, проверка данных кредитной карты, проведение банковской транзакции).
Эти объекты, естественно, используют уровень 0 для доступа к базе данных.
Уровень 2 - уровень интерфейса с пользователем.
Тут сидит ваш ASP или просто клиент на VB/C++/Delphi-что угодно. Объекты этого уровня ответственны за получение данных от пользователя, передачу данных к объектам уровня 1, получение назад результатов и предстваление результатов пользователям.

Главный и самый строгий закон - ОБЪЕКТЫ УРОВНЯ <N> МОГУТ ОБЩАТЬСЯ ТОЛЬКО С ОБЪЕКТАМИ УРОВНЕЙ <N> и <N-1>. Другими словами, из ASP в базу не лазить!!! Нужна какая-то функциональность - пишите бизнес-объект и к нему обращайтесь из ASP.

Для "простого" ASP как правило бизнес-логика пишется с помощью COM-объектов (на VB или С++) и вызывается из ASP с помощью Server.CreateObject(...)
Для ASP.NET другая песня - там все интегрировано в "одном проекте" но тем не менее все равно следует разделять "бизнес" классы и классы "пользовательского интерфейса"...

Если интересно, почитайте в MSDN например вот по такой строке в search: ASP "Using Components and Objects"

Дмитрий
...
Рейтинг: 0 / 0
Как соедениться с SQL 2000 из ASP
    #32067243
kiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень информатовно, Dimos. Сегодня же попробую, что-нибудь из предложенного.

Думаю, что на этом тему и прикроем.

СПАСИБО!!!!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как соедениться с SQL 2000 из ASP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]