Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Информационный Канал Subscribe.Ru


#168<<  #169

СОДЕРЖАНИЕ

1.СЕМИНАР
1.1.Microsoft SQL Server Reporting Services
2.СОВЕТЫ
2.1.Стандартизируйте свои .NET пространства имен
3.ССЫЛКИ НА СТАТЬИ
3.1.Статьи на русском языке
3.2.Новые и обновлённые технические статьи Microsoft
3.3.Англоязычные статьи
4.ФОРУМ SQL.RU
4.1.Самые популярные темы недели
4.2.Вопросы остались без ответа

СЕМИНАР

Microsoft SQL Server Reporting Services

Докладчик: Андрей Синкин.
Системный инженер MS SQL Server, отдела стратегических технологий представительства Microsoft в России и СНГ.

Microsoft® SQL Server™ 2000 Reporting Services - это новая серверная платформа для создания и управления табличными, матричными, графическими отчетами, а также отчетами в свободной форме, которые содержат данные из реляционных и многомерных источников данных.

Место проведения: г. Москва. Чапаевский пер., 14. Представительство Microsoft в России и СНГ.

Время проведения: 17 ноября 2003г., 18:00 - 19:00

Для участия в семинаре, Вам необходимо прислать на адрес mssqlhelp@pisem.net письмо - заявку, в свободной форме, с обязательным указанием Ф.И.О. Количество мест ограничено, поэтому прошу Вас не откладывать отправку заявки в "долгий ящик" :) и тогда Вы получите подтверждение своего участия по электронной почте, в ответ на Вашу заявку. При себе необходимо иметь документ, удостоверяющий личность.

[В начало]

СОВЕТЫ

Стандартизируйте свои .NET пространства имен

По материалам статьи Jonathan Goodyear: Standardize Your .NET Namespaces
Перевод Максима Зубова

Пространства имен могут помочь вам организовать исходники в ваших .NET проектах, но только если у вас есть четкий план.
Помните, как трудно было организовать исходные тексты COM объектов в вашей организации? У вас наверно было два имени верхнего уровня, с которыми вы и работали: имя проекта и имя класса. Обычно ваши идентификаторы выглядели примерно так:

XYZCompanyAccounting.Payroll

Очевидно, что такой подход далеко не самый лучший. Наверно было бы более удобно, если бы существовала возможность разделить пространство имен еще на несколько частей. Например, предыдущий идентификатор в .NET может быть представлен следующим образом:

XYZCompany.Accounting.Payroll

Не очень большая разница по сравнению с предыдущим объявлением, но она становится более очевидной, как только в ваших проектах появится более глубокая иерархия объектов.
На самом деле, .NET Framework предоставляет вам возможность создавать настолько глубокую иерархию пространства имен, насколько вам это необходимо. Однако, это может сделать многие вещи значительно не только проще для вашего понимания, но и наоборот, намного хуже. Аккуратное планирование и размышление над вложенностью пространств имен позволит вам пожинать хорошие плоды, такие как более удобная координация между отдельными командами разработчиков в вашей организации. Эта статья предлагает вам несколько полезных советов, как лучше организовать исходные тексты ваших .NET проектов, как с точки зрения пространства имен, так и с точки зрения использования Visual SourceSafe (VSS).

Структурируйте ваши пространства имен

Хорошо принять за правило, что бы каждое пространство имен, которое вы используете в каком-либо из модулей, начиналось с идентификатора вашей компании. Например: идентификатор в моем предыдущем примере начинался с "XYZCompany.". Следующая секция идентификатора вашего пространства имен зависит от соответствующей области, описываемой кодом. Если код описывает бизнес логику проекта, тогда следующая секция пространства имен должна содержать название вашего проекта (в данном случае "Accounting,"). Далее следует название подраздела вашего проекта (в нашем случае "Payroll"). Все это означает, что пространство имен в вашем проекте должно выглядеть так:

XYZCompany.Accounting.Payroll

Потом вы можете структурировать классы внутри пространства имен XYZCompany.Accounting.Payroll для своих конкретных задач. Для сегментации пространств имен бизнес логики на более мелкие сущности, вы можете разделить код вашего проекта на более специфичные части в VSS (более подробно об этом позже).
Веб проекты и веб службы на ASP.NET для именования пространств имен являются особым случаем. Хорошим стандартом в веб проектах на ASP.NET может быть такой: CompanyName.ProjectName.Website или CompanyName.ProjectName.WebServices для веб служб.
Следуя этому, пространство имен для веб сайта или веб службы бухгалтерских расчетов в компании XYZCompany могло бы быть:

XYZCompany.Accounting.Website
XYZCompany.Accounting.WebServices

Структура пространства имен, которую вы используете, может варьироваться, в зависимости от предметной области, которую описывает ваш код. Если ваш код будет использоваться в других проектах вашей организации, то не включайте в название пространства имен название своего проекта. Я также предлагаю вам не создавать своих собственных стандартов для названий пространств имен. Вместо этого следуйте лучше стандарту, который уже предложил Microsoft для .NET Framework. Например, если разработчики компании XYZCompany создали библиотеку классов, которую предполагается использовать для доступа к SQL Server в разных проектах, то соответствующее пространство имен следует назвать так:

XYZCompany.Data.SqlClient

В .NET Framework уже есть пространство имен System.Data.SqlClient.
Или, например, если разработчики компании XYZCompany создали библиотеку классов, которая инкапсулирует методы журналирования пользовательских событий, то название соответствующего пространства имен должно быть таким:

XYZCompany.Diagnostics

Всегда хорошо давать уникальные имена классам внутри одного пространства имен. Этим вы предотвращаете проблему с дублированием имен, когда необходимо использовать классы с одинаковыми именами, но из разных пространств имен. Важность создания своих пространств имен предложенным способом обусловлена несколькими причинами. Во-первых, выделяя в пространстве имен название своей компании, вы, тем самым, предотвращаемее возможные коллизии с продуктами третьих фирм, которые возможно будете использовать в будущем. Во вторых, адоптируя иерархию пространств имен, принятую в .NET Framework, вы облегчаете разработчикам поиск какого-либо класса во всей инфраструктуре компании, который им в данный момент нужен. Предложенный Microsoft стандарт возможно не идеален, но он позволяет разработчикам быстро и легко найти то, что им нужно, вместо того чтобы изучать разные документы и регламенты, в которых описывается структура репозитария вашей организации. В третьих, создавая иерархию пространств имен предложенным способом, вы потом сможете легко документировать его, создав похожую по стилю на MSDN документацию. Для этого можно будет использовать систему документирования, например NDoc.

Структурируйте ваши проекты

Теперь, когда вы привели в порядок названия ваших пространств имен, вам возможно будет интересно, как следует структурировать ваш проект в VSS. Я предлагаю два узла верхнего уровня в дереве VSS.

XYZ Enterprise .NET Class Library
XYZ Project .NET Class Library

Два узла верхнего уровня позволяют создать два различных вида документации (один для кода проекта и другой, для вашей компании). Под каждым узлом создайте узел с названием проекта (в нашем случае XYZCompany). Это будет вашим корнем пространства имен. В остальных узлах дерева продублируйте структуры ваших пространств имен, заменяя точки "." папками (см. рис.). Не забывайте давать полные имена файлам вашего проекта.
Пока я тут рассказываю о стандарте именования, позвольте дать вам совет о присвоении суффиксов именам классов, которые рекомендует Microsoft. Например, имена классов атрибутов должны оканчиваться словом "Attribute", а классы обработки исключений должны оканчиваться словом "Exception". Это по существу означает, что перед тем, как вы решите разработать новый класс, определите какого он будет типа и посмотрите библиотеку типов .NET Framework на предмет существования стандарта именования классов подобного типа. Если такой стандарт существует, следуйте ему. Структура пространства имен, о которой я рассказал, это просто предложение, как грамотней организовать ваши .NET исходники в компании. .NET только начинает использоваться в компаниях, поэтому сейчас самое подходящее время продумать структуры будущего хранилища исходных текстов и библиотек. Самая важная вещь, которую я пытался донести до вас с помощью этой статьи, это то, что нужно использовать стандарт именования пространств имен. Иначе случится так, что названия ваших пространств имен будут очень трудно восприниматься другими разработчиками, будут плохо структурированы, и вы получите то, с чем вероятно постоянно боретесь.

[В начало]

ССЫЛКИ НА СТАТЬИ

Статьи на русском языке

Сценарии и примеры практического применения OLAP-инструментов
Intersoft Lab
OLAP: О преимуществах применения технологии OLAP сказано и написано немало. Однако для многих по-прежнему остае...
Удаление нескольких строк из DBGrid
Grig
Delphi: DBNavigator позволяет удалить только одну текущую строку из таблицы, но, не очень редко, нужно изничтожить сразу несколько десятков строк.
Журнал транзакций SQL Server 2000
Ирина Наумова
MSSQLServer: Основным назначением журнала транзакций (transaction log) является протоколирование всех транзакций и сделанных ими изменени...
XML за 20 минут!
Leon Platt
MSSQLServer: С помощью этой статьи, вы быстро погрузитесь в XML. Я буду брать предметы из повседневной жизни, и пытаться описывать их, используя XML. Затем я...
Как предотвратить превращение хранилища данных в свалку мусора
Арустамов Алексей
При создании хранилищ данных очень мало внимания уделяется очистке поступающей в него информации...
Прогнозирование на реальных данных
Арустамов Алексей
При решении практических задач, в частности, задачи прогнозирования, вы обязательно столкнетесь с проблемой подготовки данных...
Нейронные сети как средство добычи данных
Стариков Алексей
Иногда возникает задача анализа данных, которые с трудом можно представить в математической числовой форме. Это случай,...
Методы сортировки
delphiclub.ru
Delphi: Сортировка массива методом пузырька. Сортировка методом нахождения минимального элемента. Сортировка массива вставками. Поиск перебором. Бинарный п...
Создание проекта RequisitePro для MS SQL Server 2000
С. Трофимов
CASE: Для создания проекта RequisitePro необходимо воспользоваться пунктом меню New=>Project, выбрать шаблон для создания...

[В начало]

Новые и обновлённые технические статьи Microsoft

BUG: Many Failed Login Attempts Can Cause Error 17809 BUG: OLAP DTS Task May Display HRESULT Error Codes on Failure
BUG: Rebuildm.exe Utility Stops Responding When Source Directory is on a CD
BUG: SQLAgent Incorrectly Uses TLSAlloc for Transact-SQL Jobs Causing all TLS Slots to be Exhausted
BUG: SQLAgent T-SQL Job Does Not Respect SET NOCOUNT ON When Sending Output to File
HOWTO: Retrieve Relational Data with OpenXML in an ASP Client
HOWTO: Retrieve XML Data by Using a SQL XML Query in a Visual Basic Client
HOWTO: Retrieve XML Data with an XPath Query in an ASP Client
HOWTO: Run Singleton SELECT Queries in a Visual Basic Client
INF: Frequently Asked Questions - SQL Server 2000 - Upgrade
INF: How to Create a Custom Sort Order Definition File
INF: How to Create a SQL Server 2000 Trace
INF: How to Identify Multiple Instances of SQL 2000 When You Use Performance Monitor
INF: How to Move Tempdb to a Different Device
INF: How to Obtain SQL Server 6.5 Service Pack 5a
INF: How to Set the Day/Month/Year Date Format in SQL Server
INF: How to Set Up Security for Linked Server to OLAP Services
INF: How to Use sp_scriptdynamicupdproc to Improve the Performance of Update Custom Procedures in SQL Server 2000 Transactional Replication
INF: Proper SQL Server 6.5 Configuration Settings
INF: Shrinking the Transaction Log in SQL Server 2000 with DBCC SHRINKFILE
INF: SQL Server 2000 Concurrent Snapshot is not Supported for SQL Server 7.0 Pull Subscriptions
INF: SQL Server 6.5 Performance Analysis
INF: SQL Small Business: Licensing, Connections, and Limitations
NAT Clients Cannot View Web Sites After You Install SQL 2000 SP2 or SP3 on an RRAS Server
PRB: Cannot Connect to OLAP Database Using OLE DB Provider for ODBC
PRB: Cannot Open a Client-Side Cursor for a SQL Query to OLAP Server
PRB: Errors Not Returned When Stored Procedure Statement Fails
PRB: OLAP Dates May Display Incorrect Format on Japanese Windows NT 4.0
PRB: OLAP Manager Add-in Options not Available for Certain Users
PRB: OLAP: MSSQLServerOLAPService Should Use Domain Account When Using Integrated Security
PRB: Recordset Based on SQL Server View Updates Base Tables
PRB: SQL Server 2000 Install May Fail Due to 'mfc42u.dll'
PRB: xp_sendmail Using a Microsoft Exchange 2000 Mailbox Fails with Mail Error 0x80004005 or 0x80007005
The Sqldumper.exe File Does Not Generate a Userdump File When It Runs Against a Windows Service
Virus Alert About the W32.Slammer Worm

[В начало]

Англоязычные статьи

The Time Has Come for the Decentralized Application Architecture
D. Britton Johnston
The business application architecture many companies use is as archaic as the decades old centralized mainframe model. Companies would be better served by a decentralized architecture in which their applications and databases are distributed across regional locations and local devices
Using VBScript to Automate Tasks
Haidong Ji
The key to maintain a smooth, efficient SQL Server environment is to be proactive. We need to constantly look for ways to tighten and harden SQL servers and improve performances. Using proactive monitoring, when we see any signs of abnormal behavior, we will investigate and see what the real problem is. We will find a problem and solve it before a problem finds us. We can nip the problem in the bud, so to speak
SQL Server on a non MS platform? Never!
The analyst community has long been saying that it’s only a matter of time before Microsoft starts porting its applications, especially its server-based business applications, to Linux
What's New and Cool in SQL Server "Yukon"
Peter W. DeBetta
A Developer's Tale Sure, SQL Server has lots of features that make it easy to manage and administer. Sure, it's a world-class relational database management system. Sure, Transact-SQL (T-SQL) is an easy-to-learn language. Yet despite these and other facts, many developers only have a cursory knowledge of programming in SQL Server. I am here to announce that all that will change with SQL Server "Yukon"
Tidbits from the PDC 2003
Bradley L. Jones
This week I'm attending Microsoft's Professional Developers Conference, or PDC as they call it. It is safe to say that it has already proven to be better than the last. But then, the last PDC focused on .NET My Services aka "Hailstorm" -- a technology that is relatively missing in action at this point. One thing that is sure, the technologies covered this year will not go by the way side in the same way as .NET My Services
More Ideas About Using SQL-DMO
Andy Warren
In my previous article (Intro to DMO), I described how to use DMO to connect to SQL Server and do some basic tasks, such as performing a backup. This article will introduce some additional methods that are very useful when automating administrative tasks. All code has been tested on SQL 2000, but should work fine with SQL 7
Configure Disks for High Availability
Allan Hirt with Cathan Cook, Kimberly L. Tripp, and Frank McBath
Configure SQL Server properly to ensure high availability and optimal performance. Disks are the heart and soul of a database system—they physically store the data accessed by the database server. From both performance and high availability standpoints, ensuring a proper disk configuration is one of, if not the most, important aspect of planning and configuration when it comes to the system that will run Microsoft SQL Server 2000. Even though the decisions of how many processors and how much memory you need are important, you will probably get the most from your SQL Server investment by planning and implementing the best disk subsystem for your needs
How can I pass a large XML document to a stored procedure? (6972 Requests)
FAQ.
Identifying Stored Procedure Recompilation Problems in SQL Server 2000
Andrew Novick
Around 1980 when relational databases and I were both young, I was told that the time to parse the SQL statement and create the search plan took about 50 percent of the time required to execute a SQL query. Most of this was consumed by CPU time for parsing and plan creation. The other 50 percent was devoted to executing the query. Then as now, execution time was primarily consumed by I/O for reading the pages required to satisfy the query. With computer CPUs being about 30,000 times faster today than they were in 1980 you'd think that parsing and plan creation would no longer involve significant effort. But they do
Find space occupied by all tables and indexes
Parthasarathy Mandayam
Here is a quick way to find the space occupied by all tables and indexes in a SQL Server 2000 database. This is an invaluable tool for DBAs for capacity planning
Amazing FUD
Steve Jones
If you're not stuck in the Windows only world and spend any time reading Slashdot or some other Linux based news source, you probably see the term "FUD" used. It stands for "Fear, Uncertainty, and Doubt", and is usually directed at Microsoft for spinning or slanting something to make their product look better than Linux or to spread FUD regarding the use of alternatives to MS products.
Scripting Database Maintenance Plans
John Paul Cook
SQL Server’s Enterprise Manager usually provides the Generate SQL Script… option to make a script for creating a database object as shown in the example below
Implementing Office Web Component Pivot Tables with ASP.NET
Eric Charran
A short time after Office 2000 debuted, many developers began to recognize the power of Office Web components. During the time of their initial release, they were known as the Pivot and Chart components. These client-side controls served as a method for extending the Pivot Table and Pivot Chart components of Excel to the Internet environment
An Introduction to Database Design: From Logical to Physical
Craig S. Mullins
A proper database design cannot be thrown together quickly by novices. What is required is a practiced and formal approach to gathering data requirements and modeling data. This modeling effort requires a formal approach to the discovery and identification of entities and data elements. Data normalization is a big part of data modeling and database design. A normalized data model reduces data redundancy and inconsistencies by ensuring that the data elements are designed appropriately
Managing Projects
Joe Celko
I love getting email, even if not all of it is pornographic. That is one reason I always ask for a better answer to any SQL programming puzzle I put in my columns. One of the people who consistently beats my answer is Richard Romley at Salomon Smith Barney, so I love to get something from him
DBAzine SQL Server Tip #5: Creating a Server Side iFrame
Eric Charran
The iFrame HTML control allows the independent loading and rendering of HTML within its boarders while being hosted within a parent page. It allows developers to include a “window” into other HTML sources, including any addressable HTML site or page (with some restrictions on control execution and dependencies, etc.). While a very flexible HTML control, the iFrame itself does not lend itself to being a robust server side control. This means that the many key properties of an iFrame cannot be readily set from code-behind classes and rendered properly on the client side
DBAzine SQL Server Tip #6: Using xp_fixeddrive Extend Stored Procedure to Review Drive Space
Gregory A. Larsen
Ever want to be alerted when SQL Server drive space falls below a specific threshold of available free space? This warning could help you to be proactive in dealing with limited database disk space, before a lack of disk space causes a major database problem. If so, then you need to know about the undocumented xp_fixeddrive extended stored procedure

[В начало]

ФОРУМ SQL.RU

Самые популярные темы недели

Новые упражнения на http://sql.ipps.ru
база Diasoft 5NT
Перезагрузка сервера, чем вызвана...
Копирование строк
Так что же может ADO?
openxml
Разделитель строки
Как бы его поизящнее "размножить" записи?
Backup по сети
Триггер
Как запретить пользователям, не sysadmin'ам делать backup/restore
Здесь точно гуру нужны....
Выделение Даты из ГТД (T-SQL)
Вопрос из Transcender 70-229
Подскажите, как в запросе (неск. запросах) вывести все разрешения
Помогите пожалуйста! SELECT -> XML
Схема БД
ASP+ADO+SQL Server2000
Временные таблицы и много коннектов
Как trim'ить определенный символ ?

[В начало]

Вопросы остались без ответа

RTr92_Tr.xml
Error 14294. Help please!!!!
Vopros po Runtime Licens
Репликация с SQL Server CE
SQL 2000 и Sybase ASE 12
Источник данных изменил или удалил значение ключа для данной строки в хранилище данных.
trigger for delete
Use transactions в свойствах DTS Package
ADO и VC
Паспорт
Люди подскажите у меня есть компонент ADOTable кода я в него загружаю аблицу на это тратиться несколько минут. а это таблица часто обновляется поэтому приходиться обрновлять ADOTABLE ч ADOX для MSSQL не поддерживает коллекцию Views
DTS литература
БэкАп :(
Нужна тулза для преобразования sql в html

[В начало]


Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру Гладченко на адрес: mssqlhelp@pisem.net

sql.ru Описание рассылки

МИНИФОРМА
ПОДПИСКИ




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное