MySQL и ASP.NET

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 15:22, 16 мая 2011 (править)
186.56.20.93 (Обсуждение)
(tHmcDhaDQwsZBDsH)
← К предыдущему изменению
Версия 22:39, 16 мая 2011 (править) (отменить)
Dmih (Обсуждение | вклад)
м (Правки 186.56.20.93 (обсуждение) откачены к версии 213.135.67.81)
К следующему изменению →
Строка 1: Строка 1:
-I'm impressed! You've managed the amlost impossible.+:Статья рассказывает о совместном использовании технологий ASP.NET и СУБД MySQL.
 +==Общий обзор==
 +В современном мире большинство веб-сайтов создаются с помощью следующих технологий: 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]]
 +[[Категория:Программирование]]

Версия 22:39, 16 мая 2011

Статья рассказывает о совместном использовании технологий ASP.NET и СУБД MySQL.

Содержание

Общий обзор

В современном мире большинство веб-сайтов создаются с помощью следующих технологий: 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

Экран загрузки драйвера

Для начала необходимо скачать драйвер со страницы. Это не последняя версия коннектора, но она лучше всех работает с 1gb.ru. Драйвер поставляется вместе с мастером установки, так что проблем возникнуть не должно.

Учтите, что устанавливать драйвер надо на тот компьютер с которого вы собираетесь подключаться к СУБД, а не на тот где она установлена!

Использование

Использование очень простое. В начало страницы надо добавить следующие строчки:

using System.Data;
using System.Data.Obdc;

Далее необходимо создать объект OdbcConnection следующим образом (подробнее о строках подключения можно почитать на странице):

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 файл. Но не помешает установить весь пакет. Перейдите на страницу. Затем скачайте дистрибутив.

Загрузка дистрибутива

Далее распакуйте архив и из папки 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"/>

Использование

Раздел в стадии доработки.

Личные инструменты