(Возврат на основную страницу)

 

Содержание номера за Ноябрь 2008 год

SQL Server

Ноябрь 2008
11 (95)

 

Так как размер архива к статье Гоффа "13 шагов для создания страницы поиска с использованием ASP.NET 2.0, SQL 2005, и C# 2.0" составляет более 13 МБ мы вынуждены разбить архив журнала на несколько частей

Часть 1 Часть 2 Часть 3 Часть 4

  

Editorial

Шон МакКоун

Опыт конечного пользователя

 

Programming

Вторая Дюжина Бэйкера. Часть 2

Кевин С. Гофф

Дюжина Бэйкера: 26 советов для улучшения производительности управления данными. Часть 1

 

Other

Алекс Кузнецов

Закрываем дыры: стрессовое тестирование хранимых процедур. Часть 2

 

Опыт конечного пользователя

Шон МакКоун (Sean McCown)

Что такое с конечными пользователями, почему они не рассказывают специалистам технической поддержки всей правды?

Начав свою карьеру в службе технической под­держ­ки и перейдя впоследствии к работе с базами данных, я накопил довольно большой опыт по работе с конечными пользователями. В процессе накопления этого опыта у меня появлялись разные вопросы, в частности, почему они никогда не говорят нам всей правды? Этот вопрос я по­прежнему задаю себе после всех этих лет. Более того, этому должно быть какое­то объяснение.

Вот идеальный пример, и в данном случае речь даже не идет о конечном пользователе, скорее о коллеге по IT­индустрии и программисте баз данных. Один из моих специалистов по программированию процедур загрузки данных обратился ко мне на прошлой неделе и пожаловался, что не может открыть SSIS­пакет на своем компьютере. Я спросил, какую ошибку он получает. Он сообщил мне текст ошибки, и я начал процесс отладки пакета. И действительно, каждый раз, когда я пытался открыть пакет, он падал. Сами понимаете, такие вещи нужно всегда проверять самостоятельно.

В итоге я попробовал стандартные исправления и обратился к Интернету в поиске менее известных. Ничто не помогало. Я спросил, нет ли проблем с самим пакетом, может он битый. Нет, ответил мне коллега, пакет нормально открывается на других машинах. Понятно, тогда в чем же может быть дело? Коллега сидел рядом со мной и следил за моими попытками исправить ситуацию. Я даже попытался пересоздать пару соединений к базе данных, чтобы удостовериться, что это не в них дело. Ничего не помогало. Что бы я не делал, пакет падал при попытке его открыть.

Я стал задавать дополнительные вопросы, чтобы набрать побольше информации о проблеме. Делались ли какие­нибудь изменения на машине? Устанавливались ли какие­то патчи? Все вроде выглядело нормально. А затем пришел черед вопроса, ответ на который поставил точку во всем этом деле. А что с другими пакетами? Ответ может удивить вас (а может и нет): собственно говоря, мне никогда не удавалось открыть ни один пакет на этой машине.

Ага, это уже зацепка. Но я только хочу спросить, почему нельзя было сказать об этом с самого начала? Ты работаешь в IT­индустрии. Ты знаешь, какие вопросы задавать, и какой информацией необходимо поделиться. Не кажется ли тебе, что тратить полдня на погоню за ошибкой, которая не стоит того, чтобы ею занимались, это слишком? Почему ты с первого момента не сказал мне, что на этой машине вообще нельзя открыть пакет? Я же спрашивал, есть ли еще что­то, что мне стоит знать. Ты ответил, что нет!

В итоге я прохожу весь этот путь только для того, чтобы выяснить, что не в пакетах дело. Как только пакет настраивался с использованием соединения с базой данных, он не работал на этом компьютере. Соединение по FTP работало прекрасно, операции, связанные с работой на уровне операционной системы также проходили без проблем. Так что искать нужно было совсем в другом месте.

Это был всего лишь один из примеров общения с конечными пользователями. Ситуация повторяется независимо от того, насколько большим опытом они обладают. Что нам нужно, так это определение словом или фразой для обмана такого рода. Я не думаю, что тут есть какой­то злой умысел, они ведь действительно хотят решения своей проблемы. Но мы постоянно получаем только часть правды и иногда эта часть даже меньше половины. Я сталкивался с подобной ситуацией с программистами и со специалистами по операционным системам. Так что же происходит, что люди теряют присущий им здравый смысл и не говорят вам того, что вам следует знать?

Как же мне это назвать?

Вторая Дюжина Бэйкера. Часть 2*

13 шагов для создания страницы поиска с использованием ASP.NET 2.0, SQL 2005 и C# 2.0

Кевин С. Гофф (Kevin S. Goff)

DOWNLOAD

* См. Вторая Дюжина Бэйкера. Часть 1 // SQL Server для профессионалов. 2008. № 10.

Дюжина Бэйкера: 26 советов для улучшения производительности управления данными. Часть 1

Кевин С. Гофф (Kevin S. Goff)

Вне зависимости от выбранного вами языка .NET, управление данными (managing data) — это жизненно необходимый навык для большинства приложений.

Зачастую разработчикам приходится работать с данными на разных уровнях абстракции, с использованием различных инструментов и в разных формах. Эта статья — первая из двух — описывает некоторые наиболее распространенные задачи, возникающие перед разработчиком. В первой части этой статьи я раскрою некоторые возможности ADO.NET 2.0, ASP.NET 2.0 и T­SQL 2005. Вторая часть опишет дополнительные возможности T­SQL 2005, такие как использование обобщений (generics) .NET 2.0.

Начало с мыслями об окончании: целое попурри советов по обработке данных

Недавно я представлял собрание CodeCamp, на котором обсуждались различные темы по работе с данными. Некоторые докладчики рассказывали о новых улучшениях в T­SQL, представляющих интерес для разработчиков, некоторые — о новых техниках в ADO.NET 2.0, а некоторые даже заинтересовались обработкой данных в веб­приложениях. Один из участников подошел ко мне после окончания собрания и сказал, что он приятно удивлен, что кто­то из С# MVP мог так много говорить о работе с данными, как это было сегодня. Я улыбнулся и сказал ему, что моя следующая статья для журнала «CoDe Magazine» посвящена техникам обработки данных, и что опыт, полученный сегодня (в том числе некоторые вопросы, которые мне задал этот господин) помогут в дальнейшем формировании этой статьи.

Вне зависимости от того, работаете ли вы с C# или с Visual Basic .NET или с любым другим языком, на самом деле целый день вы работаете с данными — получаете ли вы их, или суммируете, или предоставляете пользователю и т. д.

Ваша главная задача как разработчика — обработка данных. И не позволяйте никому говорить, что это не так.

Многие разработчики используют для обработки данных более одного инструмента. Вы можете работать с базой данных, с генератором отчетов, с утилитами от сторонних разработчиков, со слоем представления (presentation layer) и т. д. У вас есть множество инструментов и множество вариантов выбора! Кто­нибудь может написать книгу о разных способах обработки данных в мире .NET.

Итак, я впервые представлю двойную статью в Дюжине Бэйкера. Первая будет посвящена следующим темам:

•    Пять разных областей ADO.NET (типизированные data­set (typed datasets), математика с данными (data math), фильтрация данных (filtering data) и агрегирование данных (summing data)).

•    Четыре разных совета по обработке данных в приложениях ASP.NET 2.0.

•    Четыре разных совета по получению данных с помощью новых возможностей T­SQL 2005.

А напоследок я расскажу о практическом использовании обобщений .NET для обработки данных, а также о новом классе ObjectDataSource и некоторых дополнительных методиках получения данных в T­SQL 2005. Итак, приступим!

Закрываем дыры: стрессовое тестирование хранимых процедур. Часть 2*

DOWNLOAD

Алекс Кузнецов (Alex Kuznetsov)

Как вы могли увидеть, стрессовое тестирование — это легкий путь к эмуляции реального параллелизма и обнаружению любых проблем в ваших хранимых процедурах. В следующей статье я продемонстрирую, как воспроизвести распространенные ошибки, относящиеся к базе данных, и как обрабатывать ошибки в юнит­тестах.

* См. Алекс Кузнецов. Закрываем дыры: стрессовое тестирование хранимых процедур. Часть 1 // SQL Server для профессионалов. 2008. № 9.

 (Возврат на основную страницу)

Hosted by uCoz