Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > подключение к SQL SERVER из страницы ASP.NET


Автор: DesantRu 1.2.2009, 12:01
Здравствуйте! Я купил книгу Макдональда по ASP.NET 2.0 установил Visual Studio 2005 и начал делать примеры из книги используя базу данных Northwind SQL SERVER 2005. И выдает ошибку что не может подключиться к серверу. А при установке Visual Studio был вроде установлен и SQL SERVER 2005 express. У меня 2 вопроса.
1) Действительно ли SQL SERVER 2005 express устанавливается с Visual Studio 2005?
2) Как мне все же подключиться к серверу БД если он установлен уже?
Заранее благодарен!

Автор: emmanuil 1.2.2009, 15:14
Приветствую!
1. Да.
2. Проверь, действительно ли сервер включен. Если есть sqlserver managment studio (можно скачать с сайта майкросовта), то попробуй оттуда подключиться с windows authentification. Если нет sqlserver managment studio, то попробуй из visual studio. Или просто проверь, запущен ли сервис. Если подключиться удалось, то сервер запущен. Создай логин на сервере и используй Sql Server Authentification для подключения из asp.net. Если я не ошибаюсь, то в контексте asp.net по умолчанию не используется windows authentification, если ошибаюсь, пусть поправят.

Автор: DesantRu 1.2.2009, 20:34
Проверил - сервис запущен. Подключаюсь из окна Server Explorer, все нормально
но нет никаких объектов ни в одной базе данных: Northwind, model, master...
А как можно создать логин на сервере если менеджмент студио нету?
Спасибо за ответы!

Автор: Ronin08 2.2.2009, 02:36
Что вы имеете в виду под словами? 
Цитата

но нет никаких объектов ни в одной базе данных: Northwind, model, master...

Если не открываются таблицы, представления, .... , то вы не подключены
Должно быть как на вложенном рисунке
Кстати, заметьте, что перед БД Zadiak.mdf стоит маленький красный крестик - значит эта бд не подключена, а перед Northwind - нет, значит она подключена

Автор: DesantRu 2.2.2009, 06:48
А у меня папка таблицы не содержит ничего.
Я установил менеджмент студио и открыл все базы на своем компе.
Так в базе Northwind действительно нет никаких таблиц кроме системных.
Может ее надо установить. А как это сделать?
Действительно странно - база есть а таблиц нету.
Спасибо!

Автор: DesantRu 2.2.2009, 07:04
И еще вопрос. Прочитал что Northwind с Sql Server 2005 Express не устанавливается по умолчанию.
Я установил Sql Server который в месте с офисом хр идет и тут есть Northwind со всеми таблицами. Можно ли работать с этим сервером или только с 2005?
И если можно то как?
Спасибо за ответы!

Автор: Ronin08 2.2.2009, 09:47
Не совсем понимаю слова
Цитата

Может ее надо установить. А как это сделать?

Northwind.mdf - просто подключаемый файл БД, и устанавливать ее не надо.
 Server Explorer-> (правый клик) Add Connection -> в поле DadaBase File name нажимаете Browse и выбираете путь к своей бд; в Data sourse выберете: Microsoft SQL Server Database File (SqlClient);а в Log on to the server - Windows Authentification

Автор: DesantRu 2.2.2009, 20:44
Постараюсь объяснить. У меня на SQL Server 2005 нету Northwind а на SQL Server 2000 есть.
2 вопроса.
1) где взять эту учебную базу Northwind и как ее утсановить в 2005?
2) можно ли и как использовать 2000 из страниц ASP.NET?
Извините за неточности если есть.

Автор: Ronin08 3.2.2009, 00:33
Цитата

1) где взять эту учебную базу Northwind и как ее утсановить в 2005?

DesantRu, ничего устанавливать не надо, надо подключить. Как это сделать я написал в предыдущем ответе (Дата 2.2.2009, 09:47), 

Автор: emmanuil 3.2.2009, 06:38
Цитата(DesantRu @  1.2.2009,  18:34 Найти цитируемый пост)
А как можно создать логин на сервере если менеджмент студио нету?

Запросом в Visual Studio.
Код

use Northwind
go
-- удаление User'ов
sp_dropuser N'MyLogin'
go
-- удаление Логина
sp_droplogin N'MyLogin'
go
-- создание Логина
sp_addlogin N'MyLogin', N'admin12345' -- пароль
go
-- раздача прав и ролей
IF  EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'MyLogin')
EXEC dbo.sp_revokedbaccess N'MyLogin'
EXEC dbo.sp_grantdbaccess @loginame = N'MyLogin', @name_in_db = N'MyLogin'
EXEC sp_addrolemember N'db_owner', N'MyLogin'

Автор: emmanuil 3.2.2009, 07:05
Цитата(emmanuil @  1.2.2009,  13:14 Найти цитируемый пост)
Создай логин на сервере и используй Sql Server Authentification для подключения из asp.net. Если я не ошибаюсь, то в контексте asp.net по умолчанию не используется windows authentification, если ошибаюсь, пусть поправят.

Вот тут я ошибся, с windows authentification все нормально. Когда я разабатывал веб-сервис, то сервер, хоть и был в локалке, но был в DMZ и поэтому осталось впечатление, что windows authentification не катит.

Автор: DesantRu 3.2.2009, 19:34
Подключил файл базы Northwind.mdf в Visual Studio(окно Server Explorer) так как Вы сказали, все работает, спасибо!
Но хотелось бы знать следующее.
У меня этот Northwind.mdf  в SQL Server 2000 есть. а в SQL Server 2005 express нету.
Запускаю Management Studio Express и не вижу  Northwind. Как мне его установить в SQL Server 2005 express чтобы в Management Studio Express я увидел эту базу?

Автор: emmanuil 4.2.2009, 06:40
Цитата(DesantRu @  3.2.2009,  17:34 Найти цитируемый пост)
Подключил файл базы Northwind.mdf в Visual Studio(окно Server Explorer) так как Вы сказали, все работает, спасибо!Но хотелось бы знать следующее.У меня этот Northwind.mdf  в SQL Server 2000 есть. а в SQL Server 2005 express нету.Запускаю Management Studio Express и не вижу  Northwind. Как мне его установить в SQL Server 2005 express чтобы в Management Studio Express я увидел эту базу?

Так же как и в студии - приатачить.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)