MyBooks.club
Все категории

Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET. Жанр: Программирование издательство -,. Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
Обработка баз данных на Visual Basic®.NET
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
815
Читать онлайн
Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET

Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET краткое содержание

Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET - описание и краткое содержание, автор Джеффри Мак-Манус, читайте бесплатно онлайн на сайте электронной библиотеки mybooks.club
Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000. Затем рассматриваются способы использования основных объектов модели ADO.NET для доступа к данным в реляционных базах данных. Благодаря подробным примерам, читатели могут изучить способы использования основных свойств и методов, а также узнать о более сложных компонентах и технологиях. Многочисленные листинги с кодом на языке Visual Basic .NET иллюстрируют используемые концепции, а бизнес-ситуации показывают практическую область их применения.

Обработка баз данных на Visual Basic®.NET читать онлайн бесплатно

Обработка баз данных на Visual Basic®.NET - читать книгу онлайн бесплатно, автор Джеффри Мак-Манус

В cреде с динамическим содержимым некоторые переменные, например строка подключения к базе данных, часто остаются статическими. В листинге 11.1 для строки подключения в куче ищется (interned) экземпляр строки connString. Если он найден, то проверяется его содержимое. Если значение экземпляра в куче совпадает со значением строки connString, то оно используется приложением. В противном случае создается новый экземпляр и ему присваивается значение строки connString. Данный подход позволяет экономить ресурсы, потому что среда CLR гораздо быстрее выполняет проверку кучи, чем создание нового экземпляра объекта-строки. Такое повторное использование строк позволяет повысить производительность приложения. 

Данный способ не следует применять для строк, значение которых часто изменяется, потому что нет никакого смысла проверять значение экземпляра, когда наверняка известно, что оно другое. Несмотря на это, его можно применять для свойств, если свойства содержат особый набор значений, например при работе с перечислением. Для повышения производительности приложения и эффективного использования ресурсов в таких случаях применяется метод intern. В главе 12, "Web-службы и технологии промежуточного уровня", описываются другие технологии повышения эффективности приложений.

Повышение производительности приложений с помощью хранимых процедур

Благодаря достоинствам платформы .NET многие разработчики стали полагаться на клиентскую часть приложения для реализации специализированных бизнес-правил. Хотя ASP-страницы на платформе .NET компилируются и выполняются быстрее, чем обычные ASP-страницы, все же для большинства организаций управление такой бизнес-логикой (или ее поддержка) остается достаточно сложным.

В большинстве случаев сервер базы данных оказывается недоступным для разработчиков, т.е. они не могут управлять количеством процессоров, размером оперативной и дисковой памяти, а также способом резервного копирования. Для большинства операций правильно сконфигурированный сервер базы данных является наименее требовательным к ресурсам компьютером. Ниже перечислены типичные рекомендуемые конфигурации компьютеров, которые могут использоваться для Web-сервера и сервера базы данных. 

Компьютер Спецификации Web-сервер Pentium 4, частота 800 МГц, 1 Гбайт оперативной памяти, массив RAID 5 дисков SCSI емкостью 18,1 Гбайт Сервер базы данных Quad-Pentium 4 Xeon, частота 800 МГц, 4 Гбайт оперативной памяти ECC-RAM, массив RAID 5 дисков SCSI емкостью 72 Гбайт для базы данных и журналов регистрации транзакций, дополнительные сетевые платы и источники бесперебойного питания  

Часто для повышения производительности рекомендуется использовать хранимые процедуры. Вот что происходит при поступлении Web-запроса к базе данных.

1. Пользователь открывает Web-страницу, вводит данные, а затем передает их Web-серверу.

2. Web-сервер анализирует полученные данные и выполняет проверку и/или сбор данных, посланных пользователем.

3. Затем пользователю пересылается отклик, обычно в виде Web-страницы с уведомлением об успехе или неудаче запроса.

4. Пользователь продолжает работу с Web-приложением.

Основная задача заключается в том, чтобы сократить количество запросов к Web-серверу и не увеличивать размер Web-страниц. Ниже перечислены действия, которые выполняет компьютер при поступлении запроса.

1. От пользователя поступает запрос с некоторыми данными.

2. Имеют ли данные корректный формат? Если да, то поместить их в базу данных; в противном случае обработать возникшие исключительные ситуации.

3. Можно ли установить соединение с базой данных? Если да, то продолжить работу; в противном случае обработать возникшие исключительные ситуации.

4. Может ли база данных получить данные? Если да, то продолжить работу; в противном случае обработать возникшие исключительные ситуации.

5. Подключен ли клиент или уже нет? Если да, то послать отклик; в противном случае закрыть подключение к базе данных.

Очевидно, что Web-сервер должен выполнить множество операций, помимо обработки кода в Web-страницах. Более того, в предыдущих перечнях операций не учитывается возможность манипулирования создаваемыми объектами.

Попробуем теперь изменить код в листингах 11.1 и 11.2 для применения хранимой процедуры, предназначенной для возвращения данных Web-странице. Для этого нужно создать саму хранимую процедуру, которая, по сути, создает основу для двухуровневого приложения.

ВНИМАНИЕ!

При работе с любым приложением ASP.NET для сбора данных из формы нужно использовать метод Server.HTMLEncode(Request.Form("objectName")), который позволяет предотвратить межузловые атаки на основе сценариев. Этот метод кодирует информацию в виде строкового литерала, понятного SQL Server, что позволяет исключить риск применения злоумышленных операций, например вставки команды в виде подстроки "; TRUNСАТЕ TABLE MASTER" в текстовое поле txtFileName Web-страницы и выполнения ее со стороны SQLServer.

Некоторые разработчики опасаются использовать хранимые процедуры в Web-приложениях. Эти опасения вызваны сложностями использования объектов Command и SQLCommand в технологиях ADO и ADO.NET вместе с хранимыми процедурами. Как отмечается в главе 4, "Модель ADO.NET: провайдеры данных", указание параметров в коде необходимо для "предварительной квалификации" данных за счет установки их типа. При этом SQL Server и платформа .NET избавлены от излишних затрат времени на определение типа передаваемых данных (целое число, строка и т.д.). В данном примере рассматривается хранимая процедура без параметров, код которой показан в листинге 11.4.

НА ЗАМЕТКУ

С помощью типов, описанных в разделе о включении учетной записи ASPNET в список учетных записей SQL Server, необходимо конфигурировать роль public с указанием разрешения EXEC на выполнение процедуры. В листинге 11.4 показан код процедуры, а в листинге 11.5 — способ ее применения. 

ЛИСТИНГ 11.4. Код процедуры sp_GetCustomersOrders

CREATE PROCEDURE sp_GetCustomersOrders

SELECT tblCustomer.LastName, tblCustomer.FirstName, tblOrder.OrderDate

FROM tblOrder

INNER JOIN tblCustomer ON tblCustomer.ID = tblOrder.CustomerID

ORDER BY tblCustomer.LastName

GO

Обратите внимание, что в запросе используются только действительно нужные а не все поля таблицы tblCustomer, как показано в листинге 11.3. Вообще говоря, никогда не следует запрашивать поля таблицы, которые не будут использоваться. Это особенно важно при расширении масштаба приложения.

Рассмотрим теперь измененный код подпрограммы ShowCustomers, который показан в листинге 11.5. Обратите внимание, что в него включена еще одна строка для обработки даты, возвращенной хранимой процедурой.

Листинг 11.5. Обращение к хранимой процедуре из подпрограммы ShowCustomers

Private Sub ShowCustomers()

 ' Это простой пример использования функции,

 ' которая извлекает данные из таблицы tblCustomer

 ' Инициализация объекта подключения строкой

 ' подключения.

 Dim conn As New SqlConnection(connString)

 ' Затем инициализация объекта-команды строкой выполняемой команды SQL.

 Dim с As New SqlCommand("exec sp_GetCustomersOrders", conn)

 conn.Open()

 Dim dReader As SqlDataReader = _

  cmd.ExecuteReader(CommandBehavior.CloseConnection)

 While dReader.Read

  Response.Write(dReader.GetString(0))

  Response.Write(" " & dReader.GetString(1))

  Response.Write(" " & dReader.GetDateTime(2))

  Response.Write("<BR>")

 End While

 dReader.Close()

 conn.Close ()

End Sub

(Учтите, что для работы этого приложения в базу данных Novelty должна быть включена хранимая процедура sp_GetCustomersOrders, как описывается в главе 3, "Знакомство с SQL Server 2000". — Прим. ред.)

С помощью хранимых процедур, как правило, удается значительно повысить производительность работы Web-приложений с базами данных. Дело в том, что хранимые процедуры компилируются на сервере баз данных и выполняются гораздо быстрее по сравнению с динамически создаваемыми запросами. В листинге 11.1 команда SELECT должна интерпретироваться перед каждой операцией извлечения данных из базы данных SQL Server. Поэтому компилированные версии Web-страницы и хранимой процедуры выполняются гораздо быстрее. В аспекте повышения производительности эти особенности технологии ASP.NET и платформы .NET Framework являются их несомненным преимуществом.

Резюме

В данной главе представлены основные сведения о способах доступа к SQL Server с помощью технологии ASP.NET. Здесь показано, как извлекаются данные на основе динамических запросов и хранимых процедур без ручного кодирования механизма отображения данных в объекте DataGrid. В этой главе также упоминается промежуточный уровень, который более подробно описывается в главе 12, "Web-службы и технологии промежуточного уровня".


Джеффри Мак-Манус читать все книги автора по порядку

Джеффри Мак-Манус - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mybooks.club.


Обработка баз данных на Visual Basic®.NET отзывы

Отзывы читателей о книге Обработка баз данных на Visual Basic®.NET, автор: Джеффри Мак-Манус. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.