Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ASP.NET Web Service и подключение к БД MsSql 
V
    Опции темы
NewLine
Дата 30.10.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



Добдрый день.
В 2005 студии создаю web service ASP.NET и пытаюсь подключиться к БД MsSql с помощью метода.
Вот код.
Код

using System.Data;
using System.Data.OleDb;
[WebMethod]
    public int GetAllCars()
    {
        string connectionString = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=Northwind;"
            + "Integrated Security=SSPI";
      using (OleDbConnection connection = new OleDbConnection(connectionString))
        {
            try
            {
                connection.Open();
                return 1;
            }
            catch (Exception ex)
            {
                return 3;
            }
       }
  }

И никак подключаься не хочет все время возвращает 3.
А если тоже самое делаю в консольном приложении, то подключение проходит успешно.
В чем может быть дело?
Может каког параметра не хватает?
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
Exception
Дата 30.10.2006, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 2
Всего: 186



Ты лучше не лови исключение, а посмотри, в чём заключается ошибка. Ты уверен, что у тебя есть база данных с именем Northwind?
P.S. Для доступа к базам данных Microsoft SQL Server предпочтительно использовать классы пространства имён System.Data.SqlClient, так как они специально "заточены" под него.

Добавлено @ 11:14 
Да - и ещё вопрос: сервис находится на локальном компьютере или ты его куда-то вывешиваешь?
PM   Вверх
$tatic
Дата 30.10.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Имя юзера базы не указал - наверное из-за этого не входит (если аутентификация Windows, то вряд ли пользователю ASP.NET разрешен доступ к базе).
PM MAIL   Вверх
NewLine
Дата 30.10.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



База данных есть точно, т.к. через консольное приложение все выполняется. БД SQL 2000.
Все находится на локальном компьютере в IIS.
На самом деле я и System.Data.SqlClient тоже юзал, но результат не изменился.

$tatic
В консольном приложении все выполняется без имени пользователя.

Это сообщение отредактировал(а) NewLine - 30.10.2006, 11:28
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
$tatic
Дата 30.10.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Цитата(NewLine @  30.10.2006,  12:26 Найти цитируемый пост)
В консольном приложении все выполняется без имени пользователя.

Но пользователь, от имени которого работает IIS / ASP.NET все-таки наверное другой, нежели тот, от которого работает консольное приложение.
В случае когда Integrated Security=SSPI, доступ к базе должен быть разрешен для пользователя IIS. Обязательно. Проверь это.
PM MAIL   Вверх
NewLine
Дата 30.10.2006, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



Цитата

Но пользователь, от имени которого работает IIS / ASP.NET все-таки наверное другой, нежели тот, от которого работает консольное приложение.
В случае когда Integrated Security=SSPI, доступ к базе должен быть разрешен для пользователя IIS. Обязательно. Проверь это. 

Получается нужно на самом сервере дать доступ для IIS/ASP.NET. 
А не подскажете в каком месте это нужно прописаиь.
Просто не могу сейчас проверить рабочая версия находится дома.
logins->New Login и там уже ASPNET (ASP.NET Machine acount и т.д.)
или нет

Это сообщение отредактировал(а) NewLine - 30.10.2006, 14:41
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
Exception
Дата 30.10.2006, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 2
Всего: 186



PM   Вверх
NewLine
Дата 31.10.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.5.2006

Репутация: нет
Всего: нет



Привет.
Да. Добавил пользователя и все пошло как по маслу.
Спасибо всем.
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.