![]() |
|
Модераторы: gambit |
![]()
|
|
| sedoy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
Я создал простенький веб-сервис,который при его вызове обращается к базе данных.Когда я его с vs2005 открываю и компилирую-автоматически запускается asp.net development server и порт через который выполняется web-сервис.При этом запускается браузер (http://localhost:3867/mySrvice/Service.asmx).В этом случае web-сервис при обращении к базе данных (БД запущена на sql-сервере)отображает данные в формате xml.
Вопрос: Почему,когда создаю виртуальный каталог в IIS и укзываю путь на тот же веб-сервис при его вызове в браузере (http://localhost/myService/Service.asmx)он выполняется, но вместо необходимых данных выводит сообщние об ошибке открыть базу данных? исходный код файл service.asmx : <%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %> файл App_Code/Service.cs : using System; using System.Web; using System.Data; using System.Data.SqlClient; using System.Web.Services; using System.Web.Services.Protocols; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService { public Service () {} [WebMethod] public DataSet getMyTable() { SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(); sb.DataSource = @".\sqlexpress"; sb.InitialCatalog = "Cars"; sb.IntegratedSecurity = true; SqlConnection sqlConn = new SqlConnection(sb.ConnectionString.ToString() ); SqlDataAdapter myDA =new SqlDataAdapter("Select * from Inventory", sqlConn); DataSet ds = new DataSet(); myDA.Fill(ds, "Inventory"); return ds; } } сообщение в ответе web-сервиса: System.Data.SqlClient.SqlException: Cannot open database "Cars" requested by the login. The login failed. Login failed for user 'OSNOVA\ASPNET'...и т.д. помогите разобраться почему при вызове web-сервиса с виртуального каталога отображается ошибка при открытии базы данных? что нужно сделать,чтоб ее устранить? |
|||
|
||||
| Crimp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 21.10.2007 Где: Tula Репутация: нет Всего: 2 |
у тябя же всё есть, смотри что тебе выдаёт
System.Data.SqlClient.SqlException: Cannot open database "Cars" requested by the login. The login failed. Login failed for user 'OSNOVA\ASPNET'...и т.д. ключевая фраза Login failed могу предложить вариант решения через настройку безопасности, через менеджер компьютера, переходиш в дереве в службы, далее там увидиш веб серисы, там есть вкладка безопастность. ну примерно так, иши Если это конечно то о чём я подумал. Это сообщение отредактировал(а) Crimp - 1.3.2008, 17:00 |
|||
|
||||
| sedoy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
Не помогло. Я думаю дело не в этом, ведь веб-сервис один и тот же - строка подключения одна и таже. С vs 2005 все работает, а с вызовом локального веб -узла данные не может открыть в БД
|
|||
|
||||
| Crimp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 21.10.2007 Где: Tula Репутация: нет Всего: 2 |
Потому что запуск из под студии и без, две большие разници, и он тебе пишет что Login failed. Ты помотрел какой тип аудентификации у тебя включён для коннета. Надо выключить анонимуса
|
|||
|
||||
| sedoy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 23.1.2008 Репутация: нет Всего: нет |
Я это выставил. Зашел в свойства моего вртуального каталога --> безопасность каталога-->ананимный доступ (поставил отметку в поле анонимный доступ и поле встроенная проверка подлинности windows.
ничего это не помагает. Я так понял что надо еще посмотреть в панель управления-->администрирование-->локальная политика безопасности-->локальные политики и там уже параметры безопасности и назначение прав пользователям если здесь надо еще что -то поменять, то что именно? или может в строке подключения что-то подкорректировать.Сейчас так: SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(); sb.DataSource = @".\sqlexpress"; sb.InitialCatalog = "Cars"; sb.IntegratedSecurity = true; //sb.UserID = "sa";sb.Password=""; SqlConnection sqlConn = new SqlConnection(sb.ConnectionString.ToString() ); SqlDataAdapter myDA =new SqlDataAdapter("Select * from Inventory", sqlConn); DataSet ds = new DataSet(); myDA.Fill(ds, "Inventory"); |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |