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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строка подключения к БД, Относительный путь к Базе данных 
V
    Опции темы
Lion_Smith
Дата 13.8.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я создаю сайт. Аутентификация на сайте производиться с помощью MemberShip API.
Для этого:
1) используя встроенные инструменты VS2008 в папке проекта я создал папку с базой данных App_Data\Database.mdf.
2) Затем используя SQL Server Management Studio Express я подключил эту базу данных к SQL Server 2005 Express.
3) C помощью утилиты aspnet_regsql.exe создал необходимые для MemberShip API таблицы и запросы в базе данных App_Data\Database.mdf
4) написал необходимы настройки в файле web.config

Код


<?xml version="1.0"?>
    <configuration>
    <connectionStrings>
        <add name ="MemberShipConString" connectionString ="Data Source=.\SQLEXPRESS;AttachDbFilename=G:\Work\MySite\Project\site\App_Data\Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>
   <system.web>
             <authentication mode="Forms"/>

        <authorization>
            
        </authorization>

        <membership defaultProvider="MyMemberShipProvider">
            <providers>
                <add connectionStringName="MemberShipConString" name="MyMemberShipProvider" type="System.Web.Security.SqlMembershipProvider" 
                     />
            </providers>
        </membership>



Всё благополучно работает. А теперь возникает вопрос!

Как мне изменить строку подключения, чтобы путь к файлу базы данных прописывался бы относительно папки с проектом, а не жёстко указывался, как это сделано у меня сейчас. 

Ведь когда я буду переносить проект в интернет, то не буду знать абсолютного пути к файлу базы данных на сервере.
PM MAIL   Вверх
wotker
Дата 13.8.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



AttachDBFilename=|DataDirectory|Database.mdf;
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
Lion_Smith
Дата 14.8.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я знаю этот способ, как раз им и пользовался! Таким образом мы к sql серверу приклеиваем файл с базай данных, однако вся проблема в том, что приходиться указывать абсолютный путь до файла *.mdf. А я не знаю каким будет этот путь на сервере. Сервер Asp.Net, который я использую, бесплатный. Файлы на него загружаю через FTP.
Я весь инет облазил и не нашёл способа указать относительный путь для базы данных. Можно конечно формировать строку подключения динамически, программным кодом. Этот способ отлично подходит, когда работаешь с ADO. Net. Но тут строка подключения прописывается сразу и намертво в файле web.config. Кто-нибудь сталкивался с подобным являнием?
Раскажите как тогда вообще реализовывали службу безопасности на сайте? Авторизацию и хранеие учётных записей пользователя?
PM MAIL   Вверх
wotker
Дата 14.8.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

Таким образом мы к sql серверу приклеиваем файл с базай данных, однако вся проблема в том, что приходиться указывать абсолютный путь до файла *.mdf.

Почему приходится? Какая выдается ошибка? Открывается подключение на локальном компьютере? Где вы нашли бесплатный хостинг asp.net?  smile 
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
PashaPash
Дата 14.8.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

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



Цитата(Lion_Smith @  14.8.2008,  09:27 Найти цитируемый пост)
вся проблема в том, что приходиться указывать абсолютный путь до файла *.mdf

В ответе wotker не подразумевалось "впиши вместо DataDirectory полный путь". DataDirectory - это алиаз полного пути к App_Data, который .net сам развернет и подставит.


--------------------
PM MAIL WWW   Вверх
Lion_Smith
Дата 15.8.2008, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Фигасе, магия!!!  smile 
Спасибо за разъяснения, а то я не понял сразу.

Цитата

DataDirectory - это алиаз полного пути к App_Data


Прикольная весЧЬ! Настроена спецом на папку по умолчанию App_Data в твоём проекте. В принципе в полнен удобно пользоваться... 

Вот тут тут написаны условия хостинга!
Там указано, что есть доступ к MS SQL 2005 Express Edition (User Instances only).
Я с SQL пока не очень хорошо дружу. Думаю для MemberShip API этого достаточно.
Хочу смастерить не большой сайтик для себя.. мне для этого многого не надо smile
PM MAIL   Вверх
Idsa
Дата 19.8.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

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



А алиас |DataDirectory| работает только для строк соединения?
А нет ли случайно алиаса для папки текущей темы (~/App_Themes/CurrentTheme)?


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

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

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

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


 




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


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

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