Версия 13:21, 19 ноября 2010 (править) 213.135.67.81 (Обсуждение)
← К предыдущему изменению |
Версия 15:22, 16 мая 2011 (править) (отменить) 186.56.20.93 (Обсуждение) К следующему изменению → |
Строка 1: |
Строка 1: |
- | :Статья рассказывает о совместном использовании технологий ASP.NET и СУБД MySQL. | + | I'm impressed! You've managed the amlost impossible. |
- | ==Общий обзор== | + | |
- | В современном мире большинство веб-сайтов создаются с помощью следующих технологий: ASP.NET и LAMP. LAMP подразумевает использование Linux в качестве ОС, Apache в качестве Веб-сервера, MySQL - СУБД и PHP как технологию создания серверных страниц. В ASP.NET в качестве БД в основном используют SQL Server. | + | |
- | | + | |
- | Но SQL Server - профессиональный продукт, предназначенный для профессиональных проектов. Для большинства веб-сайтов представленные в нём возможности просто ненужны. Зато хостинг стоит дороже. Что же делать если вы хотите использовать возможности ASP.NET (эталонные страницы и другие), но SQL Server вам ненужен? Ничто не мешает использовать MySQL. Он прекрасно сочетается с ASP.NET и имеет большинство преимуществ MS SQL. Так что отбросьте все сомнения по этому поводу! | + | |
- | | + | |
- | ==Обзор методов подключения== | + | |
- | Существует только два метода подключения к MySQL из ASP.NET. Первый через ODBC, второй - MySQL Connector/Net. Каждый из них имеет свои преимущества и недостатки. Первый идеально сочетается с 1gb.ru, но не поддерживает многие возможности MySQL, свойственные только ему. Второй теоретически идеален для работы с MySQL, но 1gb.ru не устанавливает его на свои сервера. Хотя, по запросу, сотрудники 1gb.ru могут его установить. В принципе установка MySQL Connector/Net заключается в загрузке из Интернета одного .dll файла. | + | |
- | | + | |
- | ==Подключение через ODBC== | + | |
- | Для начала работы с MySQL через ODBC необходимо установить на свой компьютер необходимый драйвер. Можно, конечно, тестировать странице сразу на сервере 1gb.ru, но это глупо и занимает много времени. | + | |
- | ===Установка MySQL ODBC 3.51 Driver=== | + | |
- | [[Изображение: DownloadMySQLOdbcDriver.PNG|640px|Экран загрузки драйвера]] | + | |
- | | + | |
- | Для начала необходимо скачать драйвер со [http://dev.mysql.com/downloads/connector/odbc/3.51.html страницы]. | + | |
- | Это не последняя версия коннектора, но она лучше всех работает с 1gb.ru. Драйвер поставляется вместе с мастером установки, так что проблем возникнуть не должно. | + | |
- | | + | |
- | '''Учтите, что устанавливать драйвер надо на тот компьютер с которого вы собираетесь подключаться к СУБД, а не на тот где она установлена!''' | + | |
- | | + | |
- | ===Использование=== | + | |
- | Использование очень простое. В начало страницы надо добавить следующие строчки: | + | |
- | | + | |
- | :using System.Data; | + | |
- | :using System.Data.Obdc; | + | |
- | | + | |
- | Далее необходимо создать объект OdbcConnection следующим образом (подробнее о строках подключения можно почитать на [http://www.1gb.ru/default.aspx?ti=6&hti=43 странице]): | + | |
- | | + | |
- | :OdbcConnection odbcConn = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};server=mysql.1gb.ru;uid=1gb_test;password=xxx;database=1gb_test"); | + | |
- | | + | |
- | Остальные действия такие же, как и при работе с другими провайдерами данных | + | |
- | | + | |
- | Если во время INSERT или UPDATE запроса сайт зависает (такая проблема бывает у ODBC версии 3.51), то проверьте следующее: нет ли где-нибудь параметров со значением null, которые передаются в запрос. Выглядеть это может так: | + | |
- | | + | |
- | comm.Parameters.Add("@name", OdbcType.VarChar, 64).Value = name; //name=null | + | |
- | или | + | |
- | comm.Parameters.AddWithValue("@name", name); //name==null | + | |
- | | + | |
- | в этом случае нельзя присваивать null, а необходимо присвоить значение DBNull.Value | + | |
- | | + | |
- | comm.Parameters.Add("@name", OdbcType.VarChar, 64).Value = DBNull.Value; | + | |
- | | + | |
- | ==Подключение через MySQL Connector/Net== | + | |
- | ===Установка=== | + | |
- | Теоритически для работы с MySQL Connector/Net необходим лишь один .dll файл. Но не помешает установить весь пакет. Перейдите на [http://dev.mysql.com/downloads/connector/net/5.2.html страницу]. Затем скачайте дистрибутив. | + | |
- | | + | |
- | [[Изображение: DownloadMySqlConnectorNet.PNG|640px|Загрузка дистрибутива]] | + | |
- | | + | |
- | Далее распакуйте архив и из папки Binaries скопируйте файл MySql.Data.dll в папку с файлами вашего сайта. Затем необходимо выполнить настройку проекта Visual Studio. | + | |
- | | + | |
- | ===Настройка проекта=== | + | |
- | Откройте проект Visual Studio. В окне Solution Explorer щёлкните правой кнопкой мышки не Refereces и нажмите кнопку Add Reference. В появившемся окне откройте вкладку Browse. Далее укажите путь к файлу MySql.Data.dll. Нажмите кнопку Ok. | + | |
- | | + | |
- | В файл web.config вашего сайта добавьте строчку (в раздел compilation->assemblies): | + | |
- | | + | |
- | :<add assembly="MySql.Data, Version=5.0.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/> | + | |
- | | + | |
- | ===Использование=== | + | |
- | Раздел в стадии доработки. | + | |
- | | + | |
- | [[Категория:ASP.NET]] | + | |
- | [[Категория:MySQL]] | + | |
- | [[Категория:Программирование]] | + | |
I'm impressed! You've managed the amlost impossible.