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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> подключение к удаленной базе данных sql server 
V
    Опции темы
RWander
Дата 11.7.2007, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



Проблема в следующем: в своем приложении я использую базу данных sql server. Теперь мне необходимо, чтобы эта база находилась на каком-нибудь сервере. И каждый раз, когда необходимо обратиться к ней, необходимо установить соединение с инетом и подключиться к этой базе. Вопрос: как это сделать? И какой хостинг лучше использовать для базы данных (желательно бесплатный)?


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
thomas
Дата 11.7.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

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



RWander, 
А это принципиально иметь базу на удаленном сервере?
Ведь можно локально установить бесплатный MS SQLEXPRESS Server и юзать его. При этом доступ к нему круглосуточный.  smile 
Плюс ни кто чужой в базу не залезет через интернет.


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
RWander
Дата 11.7.2007, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



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


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 12.7.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(RWander @  11.7.2007,  13:54 Найти цитируемый пост)
как это сделать

Купить хостинг с поддержкой SqlServer. После оплаты тебе вышлют данные для поключения: адрес SqlServer, логин и пароль.

Цитата(RWander @  11.7.2007,  13:54 Найти цитируемый пост)
И какой хостинг лучше использовать для базы данных (желательно бесплатный)

Бесплатный хостинг с SqlServer, насколько я знаю, вообще не найти, ведь сам SqlServer стоит денег (ну не будут же хостеры ставить Exspress Edititon).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RWander
Дата 12.7.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



Может подскажите какой хостинг лучше все использовать?


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Wanderer2019
Дата 12.7.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



я 1gb.ru юзаю... 
правда базу MySql использую пока... 
в MS SQL надобности острой пока нет...
PM ICQ MSN   Вверх
RWander
Дата 13.7.2007, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



Цитата(Wanderer2019 @  12.7.2007,  16:21 Найти цитируемый пост)
правда базу MySql использую пока... 

А средствами C# можно получить доступ к базе MySQL? 


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 13.7.2007, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(RWander @  13.7.2007,  15:29 Найти цитируемый пост)
А средствами C# можно получить доступ к базе MySQL?  

Легко smile

Скачиваешь провайдер, читаешь информацию о различиях между SqlProvider и MySqlProvider (их немного, но они есть), коннектишь сборку к своему проекту - и вперед smile

Добавлено @ 15:57
Кстати можно пойти и по другому пути: воспользоваться имеющимися в ФреймВорке более универсальными OleDb или ODBC провайдерами. Но это приведет к снижению скорости (по сравнению с предложенным выше вариантом) и отсутствию поддержки специфических возможностей MySQL (если, конечно, таковые имеются).

А вот ссылочка на бесплатный провайдер для Мускула.

Это сообщение отредактировал(а) Idsa - 13.7.2007, 15:58


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Idsa
Дата 13.7.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Если решишь использовать универсальный провайдер (в твоем случае, пожалуй, в этом есть некоторый смысл), лучше воспользуйся провайдером OleDb. Вот статейка, в которой сравниваются OleDb и DBC. Она хоть и старенькая, но суть отражает.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RWander
Дата 13.7.2007, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



Idsa, спс! тогда лучше буду мускул использовать! smile 


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 20.7.2007, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



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

Создаем фабрику:
Код

string factory = "System.Data.SqlClient"; //Эту строку нужно хранить в ресурсах
DbProviderFactory provider = DbProviderFactories.GetFactory(factory);

Получаем connection, command и т. д.:
Код

DbConnection connection = provider.CreateConnection();
DbCommand command = provider.CreateCommand();
...


Сторонние провайдеры нужно зарегистрировать в конфигурационном файле. Подробная информация подобного рода обычно находится в провайдерском help'е.
Для использования "родных" провайдеров ничего дополнительно делать не нужно.

Сравним фабрику и OleDb: оба подхода не позволяют использовать специфичные методы (например, ExecuteReader в SqlServer), НО для стандартных операций фабрика использует более эффективные методы (методы конкретного провайдера, а не обобщенные методы OleDb).

Таким образом, используя фабрику, ты раз и навсегда избавишь себя от проблемы переписывания кода при смене источника данных (например, при смене хостинга).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RWander
Дата 21.7.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



а вот такой вопрос: допустим я скачал драйвер ODBC для MySQL (MySQL ODBC 3.51 Driver) и установил его. А будет ли работать моя программа на других компах, где нет этого драйвера?


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 21.7.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Все подключенные к проекту библиотеки (за исключением тех, что в GAC'е) должны распространяться вместе с программой.

Это сообщение отредактировал(а) Idsa - 21.7.2007, 18:44


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RWander
Дата 21.7.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



да я не подключал никаких библиотек, просто скачать этот драйвер и установил его


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 21.7.2007, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(RWander @  21.7.2007,  18:35 Найти цитируемый пост)
да я не подключал никаких библиотек, просто скачать этот драйвер и установил его

Я пошел по ссылке, которую ты мне любезно предоставил smile в лично переписке... и обнаружил, что эти драйверы не предназначены для .NET.

Выше я приводил ссылку на родной мускуловский драйвер под .NET. Правда, я не обратил внимания, что дал ссылку на устаревший драйвер (под .NET 1.1). Вот ссылка на последний драйвер.

Предположим, что ты скачал и установил "Windows Source and Binaries (ZIP)" (первый в списке). Затем в Solution Explorer в своем проекте щелкаешь правой кнопкой на Reference -> AddReference -> переходишь на вкладку browse -> выбираешь C:\Program Files\MySQL\MySQL Connector Net 5.0.7\Binaries\.NET 2.0 (начало пути - C:\Program Files\MySQL - у тебя может быть другим; это папка, в которую установился драйвер) -> щелкаешь 2 раза на файле MySql.Data.dll.
Затем в cs файле добавляешь using MySql.Data.MySqlClient.

Все, провайдер готов к использованию.

P. S. Не забудь заглянуть в Help, поставляемый с провайдером.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RWander
Дата 21.7.2007, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



Idsa, огромное спасибо!! провайдер установил smile
 
только все-таки будет работать моя прога на других компах, где провайдер не установлен?

Цитата(Idsa @  21.7.2007,  21:59 Найти цитируемый пост)
 эти драйверы не предназначены для .NET.

странно.. у меня с этим драйвером все работает smile


Это сообщение отредактировал(а) RWander - 21.7.2007, 22:22


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 21.7.2007, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(RWander @  21.7.2007,  22:18 Найти цитируемый пост)
странно.. у меня с этим драйвером все работает

С каким этим? С первым? Как у тебя "все работало", если ты сам сказал, что даже в Reference его не добавлял... Нипанятна.
В любом случае вышеуказанный провайдер - лучший для MySQL.

Цитата(RWander @  21.7.2007,  22:18 Найти цитируемый пост)
только все-таки будет работать моя прога на других компах, где провайдер не установлен?

Конечно, будет. Только программу нужно распространять вместе с dll'кой провайдера (если зайдешь в папку bin/debug своего проекта, то увидишь, что dll'ка уже там).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RWander
Дата 21.7.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



Цитата(Idsa @  21.7.2007,  22:23 Найти цитируемый пост)
С каким этим? С первым? Как у тебя "все работало", если ты сам сказал, что даже в Reference его не добавлял... Нипанятна.

я просто его установил и все, а затем в строке соединения ConnectionString  просто прописал:
Код

ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; ..и т.д.;

и все заработало smile


Цитата(Idsa @  21.7.2007,  22:23 Найти цитируемый пост)
В любом случае вышеуказанный провайдер - лучший для MySQL.

тогда буду его испоьзовать)


Цитата(Idsa @  21.7.2007,  22:23 Найти цитируемый пост)
если зайдешь в папку bin/debug своего проекта, то увидишь, что dll'ка уже там

странно.. все сделал как вы сказали, но dll  не появилась в bin/debug


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 21.7.2007, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(RWander @  21.7.2007,  22:35 Найти цитируемый пост)
странно.. все сделал как вы сказали, но dll  не появилась в bin/debug

Точно! При установке MySql.Data.dll заносится в GAC, поэтому студия не размещает копию файла в bin/debug при добавлении Reference. Для того чтобы скопировать эту dll в bin/debug (именно так можно добиться работы на компьютерах без установленного провайдера), раскрываем папочку Reference -> щелкаем левой кнопкой мыши на MySql.Data -> в окне Properties устанавливаем Copy Local = true -> билдим. Теперь в bin/debug хранится копия этой библиотеки.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
RWander
Дата 21.7.2007, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

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



все получилось!
+1 smile
PS а что такое GAC?


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Idsa
Дата 21.7.2007, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(RWander @  21.7.2007,  23:04 Найти цитируемый пост)
а что такое GAC?

Коротко - кэш сборок, подробнее - гугл, поиск по форуму или создание новой темы.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
mr.DUDA
Дата 22.7.2007, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Модератор: Пожалуйста, один топик - один вопрос.


--------------------
user posted image
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Закрытая темаСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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