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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка БД 
:(
    Опции темы
ceZam
Дата 4.4.2012, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток!

Только начал изучать ADO.NET. На данный момент читаю книжку Сеппа и столкнулся с такой проблемой никак не могу подгрузить стандартную БД Northwind.

Я установил SQLServer 2005 express, SQL Server Management Studio Express.

Через командную строку настроил права своей учетки на создание БД.

При попытке загрузки БД из VS выдает ошибку 
                  "Действие ExecuteNonQuery завершилось неудачно для объекта "База данных" "Master"."

При попытке загрузить БД при помощи менеджера не видит Expressserver и ругается типа express версия SQL Server не поддерживается... работает только с полной...

Подскажите пожалуйста как быть???

Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Microsoft.SqlServer.Management.Smo;

namespace SetupDataBases
{
    class Program
    {
        static void Main(string[] args)
        {
            Server server = new Server(@".\SQLExpress");
            Database dbMaster = server.Databases["Master"];
            string strScriptDir;
            strScriptDir = @"C:\SQL Server 2000 Sample Databases\";
            if (!server.Databases.Contains("Northwind"))
            {
                Console.WriteLine("Creating Northwind database...");
                StreamReader rdr = new StreamReader(strScriptDir + "instnwnd.sql");
                dbMaster.ExecuteNonQuery(rdr.ReadToEnd());                                               //тут выскакивает ошибка
            }
            if (!server.Databases.Contains("pubs"))
            {
                Console.WriteLine("Creating Pubs database...");
                StreamReader rdr = new StreamReader(strScriptDir + "instpubs.sql");
                dbMaster.ExecuteNonQuery(rdr.ReadToEnd());
            }
            Console.WriteLine("Databases");
            foreach (Database db in server.Databases)
            {
                Console.WriteLine("\t{0}",db.Name);
                foreach (Table tbl in db.Tables)
                {
                    Console.WriteLine("\t\t{0}",tbl.Name);
                }
                Console.WriteLine();
            }
        }
    }
}

PM MAIL   Вверх
ceZam
Дата 4.4.2012, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



в общем вопрос разрешился сам по себе... smile 
Всем спасибо за внимание...
PM MAIL   Вверх
ceZam
Дата 5.4.2012, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



При помощи Management Studio мне таки удалось подгрузить БД Northwind, но теперь возникает следующая проблема: когда я через wizard пытаюсь достучаться до этой БД ее не видно, а видно лишь системные БД.

На многих форумах единственный ответ который я нашел - косяк с настройкой прав.

Вот только я никак в толк не могу понять что и как конкретно нужно сделать.

Буду очень признателен за полный и развернутый ответ.

P.S.

Использую windows autantification. На свою локальную учетку уже поставил абсолютно все разрешения, которые только возможны для текущей БД.
PM MAIL   Вверх
erm0l0v
Дата 5.4.2012, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Windows авторизация зло, никогда ее не любил...

Да скорее всего это косяк прав.

Вы правильно сделали что поставили права на учетную запись только поставить нужно на Гостя для игрушечных проектов это вполне нормальное решение, тогда вы сможете подключиться. Но я бы создал SQL пользователя и подключался бы через него.
PM MAIL   Вверх
ceZam
Дата 5.4.2012, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В том то все и дело, что хочется разобраться с тем как все устроено, чтобы в дальнейшем уже делать нормальные и качественные проекты.

Ваш совет по поводу гостя откровенно говоря не помог. Я могу делать что-то неверно, но в этом случае можно мне несколько наглядных примеров так скажем показать КАК сделать все так как нужно??

SQL пользователя тоже пробовал создать. Создал. Из mangement studio заходит, а при попытке подключится через wizard говорит login faild и соответственно никакой базы данных не видно... smile 

Это сообщение отредактировал(а) ceZam - 6.4.2012, 06:24
PM MAIL   Вверх
erm0l0v
Дата 6.4.2012, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Для того чтобы вы могли заходить под SQL пользователем вам необходимо включить авторизацию Windows и SQL пользователей, по умолчанию стоит только Windows.

Для этого зайдите в Manager Studio правой кнопкой щелкните по серверу (Корневой элемент в дереве слева) выберете в открывшемся окне безопасность и собственно там и можно будет включить проверку подлинности SQL.

Да и еще не забудьте поставить для пользователя права, можно включить все, вкладка безопасность в редакторе пользователя, там же можно настроить и специфичные права доступа к разным базам.

Кроме того чтобы вы могли удаленно подключаться к бд откройте порты, и включите протоколы связи, как минимум TCP/IP. Для этого откройте "Диспетчер конфигурации SQL Server" там вы увидите Сетевую конфигурацию и Протоколы для вашей СУБД, как я уже говорил помойму будет достаточно включить только TCP/IP но если соединиться не получится вы можете попробовать открыть все.

И не забудьте открыть порты в брандмауэре, правда в случае с MsSQL лучше добавить в исключение весь сервис(sqlserver.exe), т.к. в настройке по умолчанию порты задаются автоматически.
PM MAIL   Вверх
ceZam
Дата 6.4.2012, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



протоколы включены, права тоже вроде дал... В брандмауэре в исключение тоже все добавил и все же не хочет он моего юзера подключать в visual studio. А в скулевской студии захожу нормально...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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