sonyps4.ru

Превышен интервал ожидания для запроса локальная сеть. Превышен интервал ожидания для запроса: причины, исправление

Структурированный язык запросов SQL основан на реляционном исчислении с переменными кортежами. Язык SQL предназначен для выполнения операций над таблицами создание удаление изменение структуры и над данными таблиц выборка изменение добавление и удаление а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления организации подпрограмм ввода вывода и т.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Структурированный язык запросов – SQL: история, стандарты,

Основные операторы языка.

Структурированный язык запросов SQL основан на реляционном исчислении с переменными кортежами. Язык имеет несколько стандартов. Язык SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода- вывода и т.п. В связи с этим SQL автономно не используется, обычно он погружен в среду встроенного языка программирования СУБД (например, FoxPro СУБД Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД Access).

В современных СУБД с интерактивным интерфейсом можно создавать запросы, используя другие средства, например QBE. Однако применение SQL зачастую позволяет повысить эффективность обработки данных в базе. Например, при подготовке запроса в среде Access можно перейти из окна Конструктора запросов (формулировки запроса по образцу на языке QBE) в окно с эквивалентным оператором SQL. Подготовку нового запроса путем редактирования уже имеющегося в ряде случае проще выполнить путем изменения оператора SQL. В различных СУБД состав операторов SQL может несколько отличаться. Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Стандарт языка SQL поддерживают современные реализации следующих языков программирования: PL/1, Ada, С, COBOL, Fortran, MUMPS и Pascal.

В специализированных системах разработки приложений типа клиент-сервер среда программирования, кроме того, обычно дополнена коммуникационными средствами (установление и разъединение соединений с серверами БД, обнаружение и обработка возникающих в сети ошибок и т.д.), средствами разработки пользовательских интерфейсов, средствами проектирования и отладки. Различают два основных метода использования встроенного SQL: статический и динамический. При статическом использовании языка (статический SQL) в тексте программы имеются вызовы функций языка SQL, которые жестко включаются в выполняемый модуль после компиляции.

Изменения в вызываемых функциях могут быть на уровне отдельных параметров вызовов с помощью переменных языка программирования. При динамическом использовании языка (динамический SQL) предполагается динамическое построение вызовов SQL функций и интерпретация этих вызовов, например, обращение к данным удаленной базы, в ходе выполнения программы. Динамический метод обычно применяется в случаях, когда в приложении заранее неизвестен вид SQL- вызова и он строится в диалоге с пользователем. Основным назначением языка SQL (как и других языков для работы с базами данных) является подготовка и выполнение запросов. В результате выборки данных из одной или нескольких таблиц может быть получено множество записей, называемое представлением. Представление по существу является таблицей, формируемой в результате выполнения запроса. Можно сказать, что оно является разновидностью хранимого запроса. По одним и тем же таблицам можно построить несколько представлений. Само представление описывается путем указания идентификатора представления и запроса, который должен быть выполнен для его получения.

Для удобства работы с представлениями в язык SQL введено понятие курсора. Курсор представляет собой своеобразный указатель, используемый для перемещения по наборам записей при их обработке. Описание и использование курсора в языке SQL выполняется следующим образом. В описательной части программы выполняют связывание переменной типа курсор (CURSOR) с оператором SQL (обычно с оператором SELECT). В выполняемой части программы производится открытие курсора (OPEN <имя курсора>), перемещение курсора по записям (FETCH <имя курсора>...), сопровождаемое соответствующей обработкой, и, наконец, закрытие курсора (CLOSE <имя курсора>).

Основные операторы языка

Опишем минимальное подмножество языка SQL, опираясь на его реализацию в стандартном интерфейсе ODBC (Open Database Connectivity – совместимость открытых баз данных) фирмы Microsoft. Операторы языка SQL можно условно разделить на два подъязыка: язык определения данных (Data Definition Language – DDL) и язык манипулирования данными (Data Manipulation Language-DML).Основные операторы языка SQL представлены в таблице.

Рассмотрим формат и основные возможности важнейших операторов, за исключением специфических операторов, отмеченных в таблице символом «*». Несущественные операнды и элементы синтаксиса (например, принятое во многих системах программирования правило ставить «;» в конце оператора) будем опускать.

1. Оператор создания таблицы имеет формат вида:

CREATE TABLE <имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

Обязательными операндами оператора являются имя создаваемой таблицы и имя хотя бы одного столбца (поля) с указанием типа данных, хранимых в этом столбце.

При создании таблицы для отдельных полей могут указываться некоторые дополнительные правила контроля вводимых в них значений. Конструкция NOT NULL (не пустое) служит именно таким целям и для столбца таблицы означает, что в этом столбце должно быть определено значение.

Операторы языка SQL

Вид

Название

Назначение

CREATE TABLE

DROP TABLE

ALTER TABLE

CREATE INDEX

DROP INDEX

CREATE VIEW

DROP VIEW

GRAND*

REVOKE*

создание таблицы

удаление таблицы

изменение структуры таблицы

создание индекса

удаление индекса

создание представления

удаление представления

назначение привилегий

удаление привилегий

SELECT

UPDAT

INSERT

DELETE

выборка записей

изменение записей

вставка новых записей

удаление записей

В общем случае в разных СУБД могут использоваться различныетипы данных. В интерфейсе ODBC поддерживаются свои стандартные типы данных, например, символьные (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR) и др. При работе с БД некоторой СУБД посредством интерфейса ODBC выполняется автоматическое преобразование стандартных типов данных, поддерживаемых интерфейсом, в типы данных источников и обратно. При необходимости обмен данными между программой и источником данных может вестись без преобразования – во внутреннем формате данных источника.

Пример 1 . Создание таблицы.

Пусть требуется создать таблицу goods описания товаров, имеющую поля: type – вид товара, comp_id – идентификатор компании-производителя, name – название товара и price – цена товара. Оператор определения таблицы может иметь следующий вид :

CREATE TABLE goods (type SQL_CHAR(8) NOT NULL,

comp_id SQL_CHAR(10) NOT NULL, name SQL_VARCHAR(20),

price SQL_DECIMAL(8,2)).

2. Оператор изменения структуры таблицы имеет формат вида:

ALTER TABLE <имя таблицы>

({ADD, MODIFY, DROP} <имя столбца> [<тип данных>]

[,{ADD, MODIFY, DROP} <имя столбца> [<тип данных>]]...)

Изменение структуры таблицы может состоять в добавлении (ADD), изменении (MODIFY) или удалении (DROP) одного или нескольких столбцов таблицы. Правила записи оператора ALTER TABLE такие же, как и оператора CREATE TABLE. При удалении столбца указывать <тип данных> не нужно.

3. Оператор удаления таблицы имеет формат вида:

DROP TABLE <имя таблицы>

Оператор позволяет удалить имеющуюся таблицу. Например, для удаления таблицы с именем items достаточно записать оператор вида: DROP TABLE items.

4. Оператор создания индекса имеет формат вида:

CREATE INDEX < имя индекса >

ON < имя таблицы >

(<имя столбца> [ ASC | DESC ]

[,<имя столбца> [ ASC | DESC ]...)

Оператор позволяет создать индекс для одного или нескольких столбцов заданной таблицы с целью ускорения выполнение запросных и поисковых операций с таблицей. Для одной таблицы можно создать несколько индексов.Задав необязательную опцию UNIQUE, можно обеспечить уникальность значений во всех указанных в операторе столбцах. По существу, создание индекса с указанием признака UNIQUE означает определение ключа в созданной ранее таблице. При создании индекса можно задать порядок автоматической сортировки значений в столбцах – в порядке возрастания ASC (по умолчанию), или в порядке убывания DESC. Для разных столбцов можно задавать различный порядок сортировки.

5. Оператор удаления индекса имеет формат вида:

DROP INDEX <имя индекса>

Этот оператор позволяет удалять созданный ранее индекс с соответствующим именем. Так, например, для уничтожения индекса main_indx к таблице emp достаточно записать оператор DROP INDEX main_indx.

6. Оператор создания представления имеет формат вида:

CREATE VIEW <имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

AS <оператор SELECT>

Данный оператор позволяет создать представление. Если имена столбцов в представлении не указываются, то будут использоваться имена столбцов из запроса, описываемого соответствующим оператором SELECT.

7. Оператор удаления представления имеет формат вида:

DROP VIEW <имя представления>

Оператор позволяет удалить созданное ранее представление. Заметим, что при удалении представления таблицы, участвующие в запросе, удалению не подлежат. Удаление представления герг производится оператором вида: DROP VIEW repr.

8. Оператор выборки записей имеет формат вида:

SELECT

< список данных >

FROM <список таблиц>

... ]

...]

Это наиболее важный оператор из всех операторов SQL. Функциональные возможности его огромны. Рассмотрим основные из них. Оператор SELECT позволяет производить выборку и вычисления над данными из одной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL), или не иметь (DISTINCT) повторяющиеся строки. По умолчанию в ответную таблицу включаются все строки, в том числе и повторяющиеся. В отборе данных участвуют записи одной или нескольких таблиц, перечисленных в списке операнда FROM. Список данных может содержать имена столбцов, участвующих в запросе, а также выражения над столбцами. В простейшем случае в выражениях можно записывать имена столбцов, знаки арифметических операций (+, –, *, /), константы и круглые скобки. Если в списке данных записано выражение, то наряду с выборкой данных выполняются вычисления, результаты которого попадают в новый (создаваемый) столбец ответной таблицы. При использовании в списках данных имен столбцов нескольких таблиц для указания принадлежности столбца некоторой таблице применяют конструкцию вида: <имя таблицы>.<имя столбца>.

Операнд WHERE задает условия, которым должны удовлетворять записи в результирующей таблице. Выражение <условие выборки> является логическим. Его элементами могут быть имена столбцов, операции сравнения, арифметические операции, логические связки (И, ИЛИ, НЕТ), скобки, специальные функции LIKE, NULL, IN и т.д. Операнд GROUP BY позволяет выделять в результирующем множестве записей группы.

9. Оператор изменения записей имеет формат вида:

UPDATE <имя таблицы>

SET <имя столбца> = {<выражение> , NULL }

[, SET <имя столбца> = {<выражение> , NULL}... ]

Выполнение оператора UPDATE состоит в изменении значений в определенных операндом SET столбцах таблицы для тех записей, которые удовлетворяют условию, заданному операндом WHERE. Новые значения полей в записях могут быть пустыми (NULL), либо вычисляться в соответствии с арифметическим выражением. Правила записи арифметических и логических выражений аналогичны соответствующим правилам оператора SELECT.

10. Оператор вставки новых записей имеет форматы двух видов:

INSERT INTO <имя таблицы>

[(<список столбцов>)]

VALUES (<список значений>)

INSERT INTO <имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

В первом формате оператор INSERT предназначен для ввода новыхзаписей с заданными значениями в столбцах. Порядок перечисления имен столбцов должен соответствовать порядку значений, перечисленных в списке операнда VALUES. Если <список столбцов> опущен, то в <списке значений> должны быть перечислены все значения в порядке столбцов структуры таблицы. Во втором формате оператор INSERT предназначен для ввода в заданную таблицу новых строк, отобранных из другой таблицы с помощью предложения SELECT.

PAGE 1

Другие похожие работы, которые могут вас заинтересовать.вшм>

16. Изучение основ языка структурированных запросов T-SQL 34.15 KB
Для достижения поставленной цели необходимо решить следующие задачи: создать запросы на выборку из нескольких таблиц на языке SQL заданными критериями отбора; создать запрос на выборку на языке SQL содержащий статические агрегатные функции; создать запрос осуществляющий объединение результатов двух и более запросов в один набор результатов используя команду UNION. В результате выполнения работы студенты должны знать: категории команд SQL; основные команды SQL применяемые для построения запроса; принципы создания запросов SQL...
6030. ЯЗЫК КАК РАЗВИВАЮЩЕЕСЯ ЯВЛЕНИЕ. ВНЕШНИЕ И ВНУТРЕННИЕ ФАКТОРЫ РАЗВИТИЯ ЯЗЫКА 17.38 KB
Проблема происхождения языка включает два вопроса. Первый вопрос связан с проблемой происхождения языка вообще как сложился человеческий язык каким образом человек научился говорить второй – с происхождением каждого отдельного языка. Свидетельств об этом периоде не сохранилось поэтому при изучении происхождения языка вообще лингвистам приходится оперировать не только языковыми фактами но и данными смежных наук. Интерес к проблеме происхождения языка возник давно.
10870. Межпредметные связи курса «Профессиональный русский язык». Трансформация и дифференциация профессионального русского языка 10.57 KB
Трансформация и дифференциация профессионального русского языка 1. Трансформация и дифференциация профессионального русского языка. Синтаксические нормы определяются структурой языка и так же как и другие нормы орфоэпические лексические морфологические претерпевают изменения в процессе развития языка. При усвоении синтаксиса неродного языка наблюдается ряд трудностей возникающих при выборе форм управления и согласования построении предложения использовании деепричастного оборота выборе нужного предлога и так далее.
6929. История языка Delphi 13.01 KB
Delphi это греческий город где жил дельфийский оракул. Delphi это комбинация нескольких важнейших технологий: Высокопроизводительный компилятор в машинный код Объектно-ориентированная модель компонент Визуальное а следовательно и скоростное построение приложений из программных прототипов Масштабируемые средства для построения баз данных Компилятор в машинный код Компилятор встроенный в Delphi обеспечивает высокую производительность необходимую для построения приложений в архитектуре...
10869. Понятия «профессиональный язык», «язык специальности», их дифференциация. Профессиональный русский язык: его зарождение, функции, сфера функционирования (с учетом специфики специальности) 9.5 KB
Дифференциация языка. Каждая экономическая специальность помимо общего языка единого для всех экономистов имеет и свой специальный и специализированный язык. На этих профессиональных языках общаются в устной и письменной форме специалисты этим профессиональным языкам учат студентов такие профессиональные языки описывают системы знаний – умений в научной учебной справочной и другой литературе. В системе экономического языка существуют общие для всех профессиональных языков проблемы.
1335. Основные словообразовательные модели в современном варианте американского английского языка 117.01 KB
Основные различия американского и британского вариантов английского языка. Проблема определения мирового статуса американского варианта английского языка. Американский вариант английского языка в современном мире. Лексические особенности американского варианта английского языка.
1936. ИСТОРИЯ, СТРУКТУРА И ОСНОВНЫЕ ПОНЯТИЯ ЭКОЛОГИИ 495.77 KB
Термин “экология” образован греческими корнями “ойкос” – дом, непосредственное окружение человека и “логос” – наука. Поэтому в буквальном смысле экология – это наука об организмах, в том числе о человеке, наблюдаемых в пределах своего дома, причем особое внимание уделяется характеру связей между организмами и окружающей их средой.
17746. Педагогика изобразительного творчества: история и основные тенденции развития 25.96 KB
Задача контрольной работы рассмотреть понятие детского художественного творчества выявить исследования выдающихся педагогов и психологов и истории становления детского художественного творчества. Проявлением художественного творчества могут быть отдельные работы - выполненные самостоятельно или под руководством взрослого рисунки лепка устное и письменное художественное слово мелодии драматизации танцы а также хоровое пение театральные постановки декоративно-прикладные работы резьба кукольный театр рисованные и игровые фильмы и...
6285. Управляющие операторы 103.51 KB
Операторы цикла Операторы цикла используются для организации многократно повторяющихся вычислений. Для организации цикла необходима переменная называемая параметр цикла или управляющая переменная цикла. Любой цикл состоит из: начальных установок или блока инициализации параметра цикла; тела цикла то есть тех операторов которые выполняются несколько раз; блока модификации параметра цикла; проверки условия выхода из цикла которая может размещаться либо до тела цикла тогда говорят о цикле с предусловием либо после тела...
2784. Операторы условия и выбора 16 KB
Оператор условия If. Поэтому Вы уже можете записать следующие операторы присваивания: Koren:=Sqrtxy; Modul:=bsxy. Для реализации таких условных переходов в языке Паскаль используют операторы If и Else а также оператор безусловного перехода Goto. Рассмотрим оператор If.

Вопрос №1. SQL и его история. 1

Вопрос №2. Описание основных операторов SQL.. 1

Арифметические функции. 4

Функции обработки строк. 5

Специальные функции. 6

Функции для обработки даты.. 7

Использование агрегатных функций в запросах. 7

Вопрос №1. SQL и его история

Единственным средством общения и администраторов баз данных, и проектировщиков, и разработчиков, и пользователей с реляционной базой данных является структурированный язык запрос SQL (Structured Query Language). SQL есть полнофункциональный язык манипулирования данными в реляционных базах данных. В настоящее время он является общепризнанным, стандартным интерфейсом для реляционных баз данных, таких как Oracle, Informix, Sybase, DB/2, MS SQL Server и ряда других (стандарты ANSI и ISO). SQL - непроцедурный язык, который предназначен для обработки множеств, состоящих из строк и колонок таблиц реляционной базы данных. Хотя существуют его расширения, допускающие процедурную обработку. Проектировщики баз данных используют SQL для создания всех физических объектов реляционной базы данных.

Теоретические основы SQL были заложены в известной статье Кодда, положившей начало развитию теории реляционных БД. Первая практическая реализации была выполнена в исследовательских лабораториях фирмы IBM Chamberlin D.D. и Royce R.F. Промышленное применение SQL было впервые реализовано в СУБД Ingres. Одной из первых промышленных реляционных СУБД является Oracle. По сути дела, реляционная СУБД - это программное обеспечение, которое управляет работой реляционной базы данных.

Первый международный стандарт языка SQL был принят в 1989 г. (SQL-89). В конце 1992 г. был принят новый международный стандарт SQL-92. В настоящее время большинство производителей реляционных СУБД используют его в качестве базового. Однако работы по стандартизации языка SQL далеки от завершения и уже разработан проект стандарта SQL-99, который вводит в обиход языка понятие объекта и разрешает на него ссылаться в операторах SQL: В исходном варианте SQL не было команд управления потоком данных, они появились в недавно принятом стандарте ISO/IEC 9075-5: 1996 дополнительной части SQL.

Каждой конкретной СУБД соответствует своя собственная реализация SQL, в целом поддерживающая определенный стандарт, но имеющая свои особенности. Эти реализации называются диалектами. Так, стандарт 1SO/IEC 9075-5 предусматривает объекты, называемые постоянно хранимыми модулями или PSM-модулями (Persistent Stored Modules). В СУБД Oracle расширение PL/SQL является аналогом указанного выше расши­рения стандарта".

Вопрос №2. Описание основных операторов SQL

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

Весь набор команд SQL можно разбить на следующие группы:

· команды определения данных (DDL - Data Defininion Language);

· команды манипулирования данными (DML - Data Manipulation Language);

· команды выборки данных (DQL - Data Query Language);

· команды управления транзакциями;

· команды управления данными.

При выполнении каждая команда SQL проходит четыре фазы обработки:

· фаза синтаксического разбора, которая включает проверку синтак­сиса команды, проверку имен таблиц и колонок в базе данных, а также подготовку исходных данных для оптимизатора;

· фаза оптимизации, которая включает подстановку действительных имен таблиц и колонок базы данных в представление, идентификацию возможных вариантов выполнения команды, определение стоимости выполнения каждого варианта, выбор наилучшего варианта на основе внутренней статистики;

· фаза генерации исполняемого кода, которая включает построение выполняемого кода команды;

· фаза выполнения команды, которая включает выполнение кода команды.

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

Таблица 8.1 содержит список команд SQL в соответствии с принятым стандартом, за исключением некоторых практически не используемых в диалектах команд.

Таблица 8.1. Типичный список команд SQL

Команда Описание
Команды определения данных объектов
ALTER TABLE Изменяет описание таблицы (схему отношения)
CREATE EVENT Создает событие таймера в базе данных
CREATE INDEX Создаст индекс для таблицы
CREATE SEQUENCE Создает последовательность
CREATE TABLE Определяет таблицу
CREATE TABLESPACE Создаст табличное пространство
CREATE TRIGGER Создает триггер в базе данных
CREATE VIEW Определяет представление на таблицах
DROP INDEX Физически удаляет индекс из базы данных
DROP SEQUENCE Удаляет последовательность
DROP TABLE Физически удаляет таблицу из базы данных
DROP TABLESPACE Удаляет табличное пространство
DROP VIEW Удаляет представление
Команды манипулирования данными
DELETE Удаляет одну или более строк из таблицы базы данных
INSERT Вставляет одну или более строк в таблицу базы данных
UPDATE Обновляет значения колонок в таблице базы данных
Команды выборки данных
SELECT Выполняет запрос на выборку данных из таблиц и представлений
UNION Объединяет в одной выборке результаты выполнения двух или более команд SELECT
Команды управления транзакциями
COMMIT Завершает транзакцию и физически актуализирует текущее состояние базы данных
ROLLBACK Завершает транзакцию и возвращает текущее состояние базы данных на момент последней завершенной транзакции и контрольной точки
SAVEPOINT Назначает контрольную точку внутри транзакции
Команды управления данными
ALTER DATABASE Изменяет группы хранения или журналы транзакций
ALTER DBAREA Изменяет размер областей хранения базы данных
ALTER PASSWORD Изменяет пароль для доступа к базе данных
ALTER STOGROUP Изменяет состав областей хранения в группе хранения
CHECK DATABASE Проверяет целостность базы данных
CHECK INDEX Проверяет целостность индекса
CHECK TABLE Проверяет целостность таблицы и индекса
CREATE DATABASE Физически создает базу данных
CREATE DBAREA Создает область хранения базы данных
CREATE STOGROUP Создает группу хранения
CREATE SYSNONYM Создает синоним для таблицы или представления
DEINSTALL DATABASE Делает базу данных недоступной пользователям вычислительной сети
DROP DATABASE Физически удаляет базы данных
DROP DBAREA Физически удаляет область хранения базы данных
DROP STOGROUP Удаляет группу хранения
GRANT Определяет привилегии пользователей и разграничение доступа к базе данных
INSTALL DATABASE Делает базу данных доступной пользователям вычислительной сети
LOCK DATABASE Блокирует текущую активную базу данных
REVOKE Отменяет привилегии пользователей и разграничения доступа к базе данных
SET DEFAULT STOGROUP Определяет группу хранения по умолчанию
UNLOCK DATABASE Деблокирует текущую активную базу данных
UPDATE STATISTIC Обновляет статистику для базы данных
Другие команды
COMMENT ON Размещает в системном каталоге комментарии к описанию объектов БД
CREATE SYNONYM Определяет в системном каталоге альтернативные имена для таблиц и представлений БД
DROP SYNONYM Удаляет из системного каталога альтернативные имена для таблиц и представлений БД
LABEL Изменяет метки системных описаний
ROWCOUNT Вычисляет число строк в таблице БД

Набор команд SQL, перечисленный в таблице, не является полным. Этот список приведен, чтобы вы составили впечатление о возможностях SQL в целом. Для получения полного списка команд следует обратиться к соответствующему руководству для конкретной СУБД. Следует помнить, что SQL является единственным средством общения всех категорий пользователей с реляционными базами данных.

Арифметические функции

SQL поддерживает полный набор арифметических операций и мате­матических функций для построения арифметических выражений над колонками базы данных (+, -, *, /, ABS, LN, SQRT и т.д.).

Список основных встроенных математических функций дан ниже в таблице 8.2.

Математическая функция Описание
ABS(X) Возвращает абсолютное значение числа X
ACOS(X) Возвращает арккосинус числа X
ASIN(X) Возвращает арксинус числа X
ATAN(X) Возвращает арктангенс числа X
COS(X) Возвращает косинус числа X
EXP(X) Возвращает экспоненту числа X
SIGN(X) Возвращает -], если X < 0, 0, если X = 0, + 1, если X > 0
LN(X) Возвращает натуральный логарифм числа X
MOD(X,Y) Возвращает остаток от деления X на Y
CEIL(X) Возвращает наименьшее целое, большее или равное X
ROUND(X,n) Округляет число X до числа с п знаками после десятичной точки
SIN(X) Возвращает синус числа X
SQRT(X) Возвращает квадратный корень числа X
TAN(X) Возвращает тангенс числа X
FLOOR(X) Возвращает наибольшее целое, меньшее или равное X
LOG(a,X) Возвращает логарифм числа X по основанию А
SINH(X) Возвращает гиперболический синус числа X
COSH(X) Возвращает гиперболический косинус числа X
TANH(X) Возвращает гиперболический тангенс числа X
TRANC(X.n) Усекает число X до числа с п знаками после десятичной точки
POWER(A,X) Возвращает значение А, возведенное в степень X

Набор встроенных функций может изменяться в зависимости от версии СУБД одного производителя и также в СУБД различных производителей. Так, например, в СУБД SQLBase, Centure Inc. есть функция @ATAN2(X,Y), которая возвращает арктангенс Y/X, но отсутствует функция SIGN(X).

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

SELECT ENAME, SAL, COMM. FINE, SAL + COMM - FINE

Арифметическое выражение SAL + COMM - FINE выводится как новая колонка в результирующей таблице, которая вычисляется в результате выполнения запроса. Такие колонки называют еще производными (вычисляемыми) атрибутами или полями.

Функции обработки строк

SQL предоставляет вам широкий набор функций для манипулирова­ния со строковыми данными (конкатенация строк, CHR, LENGTH, INSTR и другие). Список основных функций для обработки строковых данных приведен в таблице 8.3.

Таблица 8.3. Функции SQL для обработки строк

Функция Описание
CHR(N) Возвращает символ ASCII кода для десятичного кода N
ASCII(S) Возвращает десятичный ASCII код первого символа строки
INSTR(S2,SI,pos|,N|) Возвращает позицию строки SI в строке S2 большую или равную pos. N - число вхождений
LENGTH(S) Возвращает длину строки
LOWER(S) Заменяет все символы строки на прописные символы
INITCAP(S) Устанавливает первый символ каждого слова в строке на заглавный, а остальные символы каждого слова - на прописные
SUBSTR(S,pos,[,len|) Выделяет в строке S подстроку длиной ten, начиная с позиции pos
UPPER(S) Преобразует прописные буквы в строке на заглавные буквы
LPAD(S,N |,A|) Возвращает строку S, дополненную слева символами А до числа символов N. Символ-наполнитель по умолчанию - пробел
RPAD(S,N |,А]) Возвращает строку S, дополненную справа символами А до числа символов N. Символ-наполнитель по умолчанию - пробел
LTRIM(S,|,Sll) Возвращает усеченную слева строку S. Символы удаляются до тех пор, пока удаляемый символ входит в строку - шаблон SI (по умолчанию - пробел)
RTRIM(S,|,SI |) Возвращает усеченную справа строку S. Символы удаляются до тех пор, пока удаляемый символ входит в строку - шаблон S1 (по умолчанию - пробел)
TRANSLATES,(SI,S2) Возвращает строку S, в которой все вхождения строки SI замещены строкой S2. Если SI <>S2, то символы, которым нет соответствия, исключаются из результирующей строки
REPLACED(SI,|,S2|) Возвращает строку S, для которой все вхождения подстроки SI замещены на подстроку S2. Если S2 не указано, то все вхождения подстроки SI удаляются из результирующей строки S
NVL(X,Y) Если X есть NULL, то возвращает в Y либо строку, либо число, либо дату в зависимости от исходного типа Y

Названия одних и тex же функций могут отличаться в различных СУБД. Так, например, функция СУБД Oracle SUBSTR(S, pos, |, len|) в СУБД SQLBase называется @SUBSTRING(S, pos, Ien). В СУБД SQLBase имеются функции, которых нет в СУБД Oracle (см. таблицу ниже, где приведен список таких функций).

Таблица 8.4. Строковые функции СУБД SQLBase, отличающиеся от строковых функций СУБД Oracle

Функция Описание
@EXACT(SI,S2) Возвращает результат сравнения двух строк
@LEFT(S,lcn) Возвращает левую подстроку длиной len
@LENGTH(S) Возвращает дли ну строки
@MID(S, pos, len) Возвращает подстроку указанной длины, начиная с позиции pos
@REPEAT(S,n) Повторяет строку S n раз
@REPLACE(SI,pos,len,S2) Замещаете позиции pos len символов в строке S2 символами строки SI
@RIGHT(S,len) Возвращает правую подстроку S длиной len
@SCAN(S,pat) Возвращает позицию подстроки pat в строке S
@STRING(X, scale) Возвращает символьное представление числа с указанным масштабом scale
@TRIM(S) Удаляет пробелы в строке справа и слева
@VALUE(S) Преобразует символьное представление числа в числовое значение

Можно использовать функцию INITCAP, чтобы при получении спис­ка имен служащих фамилии всегда начинались с заглавной буквы, а все остальные были прописными.

SELECT INITCAP(ENAME)

Специальные функции

SQL обеспечивает набор специальных функций для преобразований значений колонок. Список таких функций приведен в таблице 8.5.

Таблица 8.5. Специальные функции

В таблице EMPLOYEE для каждого служащего можно ввести признак пола - добавить колонку SEX типа CHAR(l) (0 - мужской, 1 - женский). Допустим, что вам нужен список служащих, в котором требуется разделе­ние их по признаку пола с указанием его в числовом формате; тогда можно задать такую команду:

SELECT ENAME, LNAME, AGE, "Пол :", TO_NUMBER(SEX)

В качестве примера использования функцииDECODE приведем запрос, вычисляющий список служащих с указанием их руководителя. Если руководитель неизвестен, то выводится по умолчанию «не имеет».

SELECT ENAME, DEC0DE(DEPN0, 10, "Дрягин" , 20,"Жиляева ". 30,"

Коротков ", "не имеет" )

Предположим, что руководитель организации имеет неопределенное значение колонкиDEPNO и, следовательно, для него будет работать умолчание, предусмотренное вDECODE.


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-07

«Ааа, помогите, все пропало!» – если ваш внутренний голос реагирует на обрыв соединения с сервером примерно так, этот материал точно для вас. :) Безусловно, со своей стороны мы каждый день делаем все возможное, чтобы ничто не мешало вашей работе в , но случись форс-мажор – будем разбираться. А чтобы быстрее сориентироваться в ситуации и понять, на чьей стороне ошибка, вот вам задача-минимум – во время обрыва первым делом выполните трассировку маршрута и пинг промежуточных узлов. Как все это сделать, сейчас расскажем.

Трассировка маршрута

Во время трассировки происходит отправка пакетов данных между локальным компьютером и сервером. Это помогает проследить путь прохождения запроса к серверу и определить, на каком этапе происходит обрыв. Выполнить трассировку довольно легко.

1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

tracert Х.Х.Х.Х (где Х.Х.Х.Х – это IP-адрес сервера или домен) и нажмите Enter .

В примере мы сделали трассировку для google.com.

tracert google.com

Получилось так:

1 2 1 ms 1 ms 1 ms 193.151.89.254
3 5 ms 4 5 1 ms 6 1 ms 7 1 ms 3 ms 1 ms bearline-ic-324086-ffm-b4.c.telia.net
8 1 ms 1 ms 1 ms 108.170.251.129
9 13 ms 13 ms 15 ms 66.249.94.135
10 13 ms 13 ms 13 ms fra15s12-in-f46.1e100.net

Как видим, наши пакеты преодолели десять (их может быть как меньше, так и больше) узлов, и преодолели их успешно. В противном случае, если бы пакеты «споткнулись» на одном из узлов, на нем (и последующих за ним узлах) мы бы увидели:

* * * Превышен интервал ожидания для запроса.

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

Пинг промежуточных узлов

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

В ОС Windows по умолчанию передается только четыре пакета, чего недостаточно, если проблема проявляется кратковременно. Поэтому нужно снять это ограничение параметром -t (чтобы потом остановить обмен пакетами, нажать CTRL+C ).

Теперь по порядку.

1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

2. В открывшейся командной строке введите ping -t Х.Х.Х.Х (где Х.Х.Х.Х – это адрес одного из промежуточных узлов, которые мы узнали при трассировке) и нажмите Enter .

В нашем случае при трассировке мы выявили десять узлов, а значит, и пинг нужно выполнить десять раз в десяти отдельных окнах.

Полезно!
Если вам нужно постоянно отслеживать качество соединения, для Windows можно воспользоваться удобной программой PingPlotter.

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

ping -t 10.1.1.1
ping -t 193.151.89.254
ping -t 85.195.75.129
ping -t 213.248.79.29
ping -t 62.115.139.50
ping -t 62.115.120.8
ping -t 62.115.153.215
ping -t 108.170.251.129
ping -t 66.249.94.135
ping -t 216.58.208.46

Если в каком-нибудь из окон вы с первых же секунд видите «Превышен интервал ожидания», не спешите кричать: «Попался!». Если следующие узлы пингуются нормально, значит, этот просто закрыт настройками. В нашем случае, например, предпоследний узел (66.249.94.135) сразу же говорит, что интервал превышен, но с пингом десятого узла никаких проблем нет.

На чьей стороне ошибка?

Итак, обрыв повторился. Но на этот раз запущенный пинг промежуточных узлов поможет «обличить» виновника. Тут все просто – с какого узла вам начало выдавать «Превышен интервал ожидания», тот и слабое звено.

Кто виноват – ясно, теперь нужно понять, что делать в конкретных ситуациях.

1. Последний узел. Если последний узел сначала пинговался нормально (некоторые Windows-машины вообще не отвечают на пинг, это задается в настройках брандмауэра)…

…а после обрыва начал показывать «Превышен интервал ожидания», обрыв происходит на вашем сервере.

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

2. Любые узлы, кроме последнего. В этом случае обращайтесь одновременно в техподдержку и облачного, и интернет-провайдера. При этом обязательно укажите, как изначально выглядела трассировка маршрута, и составьте перечень узлов с указанием, на каких из них пинг во время обрыва прервался, а на каких нет. Будьте внимательны, это важная информация, не ошибитесь.

3. Все узлы одновременно. Если все окна с пингом начали показывать «Превышен интервал ожидания», проблема в вашем компьютере или сети, к которой он подключен.

Бонус!

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

Для ОС семейства Windows такую оптимизацию проводит утилита Winmtr . Она не нуждается в установке и готова к использованию сразу после распаковки из архива.

В поле Host укажите конечный сервер, с которым будет проверяться соединение, и нажмите Start :

В нашем примере видна трассировка маршрута и все промежуточные узлы. При этом к каждому из них направляются ICMP-пакеты, по которым можно определить качество связи.

Собственно, в этом и заключается главное преимущество утилиты – ее вывод постоянно обновляется, это позволяет собирать статистику, отслеживать средние показатели, тенденции и какие-либо изменения качества сети.

Раз мы проверяем соединение с сервером, нас интересуют столбцы Sent (отправлено пакетов) и Recv (получено пакетов). Если значения в этих столбцах не совпадают, значит, качество связи с узлом ухудшилось. Что делать? Обратиться в соответствующую техподдержку.

Столбец Loss поможет просмотреть динамику потерь в процентном соотношении.

Также утилита позволяет копировать текст в удобных форматах (.txt и .html ) в буфер обмена (Copy to clipboard ) или в отдельный файл (Export ).

Двойной щелчок по промежуточному узлу позволит получить дополнительную информацию о нем.

Важно знать!

Для детализации проблемы специалисты техподдержки могут запросить дополнительные пинги с особыми настройками. Для этого достаточно внести их в окошке Options , которое позволит указать:

  1. Interval (sec) – время обновления данных в секундах.
  2. Max host in LRU list – максимальное количество хостов (или IP-адресов, если не активна опция Resolve names ) до конечной точки.
  3. Ping size (bytes) – размер ICMP-пакета.
  4. Resolve names – возможность преобразовать IP-адрес в имя хоста.

А что же линуксоиды?

Для ОС семейства Linux утилита называется просто MTR. Если ее нет в вашей операционной системе, установить ее можно одним из следующих способов:

Debian/Ubuntu/Mint:

$ apt-get install mtr

CentOS/RedHat/Fedora:

$ yum install mtr

У MTR такой же функционал, как у Winmtr, а также схожий графический интерфейс. Запустить утилиту можно командой:

где X.X.X.X – это IP-адрес конечного сервера или имя хоста.

В данном случае интересуют следующие столбцы:

  • Loss % – процент потерянных пакетов между компьютером-отправителем и промежуточными узлами.
  • SNT – общее количество отправленных пакетов.

Как только где-то что-то потерялось, утилита сигнализирует нам об этом, окрашивая узел в красный цвет и подсчитывая процент потерь.

Отдельно отметим возможность запуска утилиты в текстовом (консольном) режиме. Для этого достаточно добавить опцию -t или --curses:

mtr --curses сайт

Рассмотрим еще несколько важных опций MTR, которые могут быть крайне полезны в процессе диагностики сети.

R или --report

Запускает режим отчета, в котором MTR обработает заданное количество циклов (определенных опцией -c), а затем отобразит статистику и автоматически завершит работу. Этот режим полезен для сбора статистики о качестве сети.

C COUNT или --report-cycles COUNT

Позволяет задать количество циклов, после которых MTR завершит работу.

P BYTES или --psize BYTES

Устанавливает размер пакетов в байтах.

I SECONDS или --interval SECONDS

Задает интервал между отправляемыми пакетами.

N или --no-dns

Разрешает не использовать DNS, отображает IP-адреса узлов.

A X.X.X.X или --address X.X.X.X

Позволяет указать адрес интерфейса компьютера, с которого будут отправляться ICMP-запросы.

Итого

Разумеется, команды в консоли дают более точный результат, поскольку фиксируют даже единичные потери пакетов (короткие обрывы), но Winmtr и MTR компактные и более удобны в использовании. А на чем остановить свой выбор, решать только вам. :)

Вот, собственно, и все, кто виноват – выяснили, что делать – тоже. :) Надеемся, материал был вам полезен, а если у вас остались дополнительные околооблачные вопросы, обращайтесь к нам за грамотной .

Бывает так, что при попытке установки интернет-соединения или доступа к определенному ресурсу в Сети вместо подключения браузер пишет: «Превышен интервал ожидания для запроса». Что это за проблема, знает далеко не каждый пользователь, поэтому стоит рассмотреть данную ошибку несколько подробнее. Исправить ее можно, но для этого придется взять на вооружение схемы, приводимые ниже.

Превышен интервал ожидания для запроса: суть проблемы

Сама ошибка и ее последствия выглядят в самом простом случае известным образом. Вы пытаетесь получить доступ к какому-то ресурсу или подключаетесь к Всемирной паутине, компьютерное устройство отправляет запрос во внешний мир, но отклика не получает.

Почему? Да только потому, что Сеть или устройство связи не может инициализировать внешний IP вашего компьютера. Вот и получается, что попросту не происходит обмен пакетами. Превышен интервал ожидания для запроса, Сеть не дает отклика только потому, что ваше устройство не определяется, несмотря даже на то, что в установках протоколов все параметры установлены на автоматизацию (имеется в виду получение адресов IP, DNS и использование шлюза по умолчанию).

Иными словами, пакеты до вашего устройства извне не доходят. А это необходимое условие для осуществления связи.

Превышен интервал ожидания для запроса: как исправить проблему самым быстрым способом?

Если уж такая проблема появилась, можно воспользоваться самой обычной функцией Пока не рассматриваем более сложные методы вроде проверки пинга, а пытаемся, так сказать, избавиться от проблемы самыми простыми и доступными методами.

Запускаем командную консоль от имени администратора (cmd в меню «Выполнить» или ручной запуск файла в директории System32 через меню правого клика), после чего вписываем команды сброса конфигурации.

Последовательность выглядит так: сначала - ipconfig /flushdns, затем - nbtstat -R и nbtstat -RR, после этого - netsh int reset all и netsh int ip reset, и наконец - netsh winsock reset. Их применение очищает (сбрасывает) настройки системы, после чего можно будет произвести перезагрузку и попытаться получить доступ к искомому ресурсу или установить подключение к сети.

Командная строка и пингование

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

Придется воспользоваться специальными командами пингования, которые точно позволяют определить, есть ли отклик на исходящий внешний запрос от вашего компьютерного терминала.

Например, если используется роутер и беспроводная сеть WiFi, в командной строке нужно прописать процедуру пинга с указанием внутреннего адреса компьютера (обычно это ping 127.0.0.1). После этого должен начаться обмен пакетами. На экране будет показано, что отправлено столько-то, получено столько-то.

Но вот беда: пинг вроде бы и работает, а связи нет. Почему? Да только потому, что пакеты отправлялись на внутренний адрес, и при этом сработала функция loopback. Для более точной проверки следует проверить другой произвольный адрес. А вот тут появится точная статистика по отправке, приему и потере пакетов.

Проверка конфигурации

Еще одной общепризнанной методикой исправления проблемы того, что превышен интервал ожидания для запроса, является использование команд настройки конфигурации IP. Дело в том, что предыдущий метод является все же более информативным, а не инструментальным. И это даже при условии того, что используется команда ping. «Превышен интервал ожидания для запроса» - еще далеко не самое худшее сообщение из того, что может выдавать система.

Для настройки, причем с корректной проверкой опций, необходимо использовать команду ipconfig, вводимую в консоли. Именно с ее помощью можно узнать все установленные в системе параметры. Если требуется узнать параметры и настройки всех зарегистрированных в системе пользователей, к основной команде через правый слэш дописывается специальный суффикс (ipconfig /all).

После этого имеет смысл пропинговать адрес собственного маршрутизатора (либо 192.168 с окончанием 0.1 через точку, либо 1.1). Если он не определяется, проблема как раз в нем и состоит. Если все нормально, идем дальше.

Трассировка

В некоторых случаях одним из вариантов проверки и исправления проблемы того, что превышен интервал ожидания для запроса (Trove, например, при доступе к онлайн-играм), имеет смысл проверить трассировку. Она представляет собой передачу пакетов от вашего компьютерного терминала во внешний мир. Для этого можно использовать с добавлением суффиксов (например, в самом простом случае трассировка проверяется при помощи сочетания tracert it.sander.su).

Сама же команда позволяет определить источник сбоя или стадию прохождения пакетов, на которой он и происходит. Обычно показатель трассировки TTL выглядит как целое положительное число. Однако роутер может уменьшать его на одну единицу. Если такой показатель при обмене пакетами ставится равным нулю, трассировка заканчивается. Придется использовать команду route print, чтобы просмотреть но это уже отдельная тема.

Для случаев, когда появляется сообщение о том, что превышен интервал ожидания для запроса Trove, можно применять специфичные средства исправления ситуации в виде утилиты Glyph, запущенной от имени администратора. Если она не поможет, можно воспользоваться любой программой-оптимизатором вроде CCleaner, которая может производить чистку и дефрагментацию системного реестра Windows. Как правило, ошибка этого типа почти всегда связана именно с присутствием в реестре ошибочных или устаревших записей и ключей. Самому в реестр лучше не лезть, а то ведь и всю операционную систему можно довести до состояния полной неработоспособности. И не поможет тут даже трассировка. Превышен интервал ожидания для запроса - что теперь делать?

Настройка интерфейса Ethernet

Если выше предложенные варианты положительного эффекта не дадут, а сообщение о том, что превышен интервал ожидания для запроса, будет появляться снова и снова, придется заняться настройкой сетевых подключений, но только не стандартным способом изменения конфигурации самой сети или используемого адаптера, а с применением командной строки. Заметьте, командная строка практически всегда помогает решить большинство проблем на компьютере, если знать, какие именно команды вводить для определенных целей.

Сначала смотрим на список настроек, который вызывается командой netstat, к которой можно дописать суффикс «-n», «-na» или «-nb» для отображения данных не в виде цифрового кода.

Теперь нужно ввести строку просмотра собственного адреса, а затем использовать комбинацию, представленную выше (как правило, работает это во всех системах).

Включение узлов

Попробуйте вызвать настройки того же Internet Explorer или любого другого используемого браузера. Тут нужно покопаться в параметрах ресурсов, заслуживающих доверия. Их адреса нужно внести в специальный список.

Если такая процедура не сработает, сообщение появится снова («Превышен интервал ожидания для запроса»). Что делать? Просто внесите сайты, на которые невозможно войти, в список исключений антивируса, а также создайте новое правило для файрвола системы с указанием полного пути к исполняемому файлу программы-браузера.

Заключение

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

Я уже писал, о том, что такое и как проверить, под каким адресом вас видит внешний мир. Однако часто этой информации недостаточно для того, чтобы понять, какой все-таки адрес присвоен вашей сетевой карте, а также провести диагностику проблем подключения. Приведу список команд, которые можно использовать. (также у меня на сайте можно прочитать про визуальную настройку )

Для начала необходимо открыть командную строку. Делается это так: нажимаете кнопку пуск, выбираете пункт "выполнить".

Альтернативные способ - нужно нажать клавишу Win (между Ctrl и Alt) и R одновременно, этот способ работает также и на Висте

Появляется окошко, в которое нужно вписать cmd и нажать ОК

Появляется та самая командная строка

В ней можно набирать и "вводить" команды, нажимая Enter. Результаты можно копировать - если нажать правую кнопку можно выделить нужный кусок, далее нужно еще раз нажать правую кнопку мыши.

Команда ping

Первая команда, с которой нужно познакомиться - это ping , проверяющую доступность заданного адреса. Введите команду ping 127.0.0.1 . Должно получиться что-то такое (если команда не ping не работает, то, возможно, решить проблему поможет инструкция по исправлению ошибки cmd no command):

C:\Documents and Settings\Администратор>ping 127.0.0.1

Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время

Ответ от 127.0.0.1: число байт=32 время

Ответ от 127.0.0.1: число байт=32 время

Статистика Ping для 127.0.0.1:

Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек

C:\Documents and Settings\Администратор>

Как мы видим, на адрес 127.0.0.1 было отправлено 4 пакета, и они все достигли цели. Что же это был за адрес и почему я был уверен, что пакеты дойдут? Ответ прост - пакеты никуда не отправлялись, а оставались на вашем компьютере. Этот адрес специфичен и используется для loopback - пакетов, не уходящих никуда вовне. Отлично, можем теперь "пропинговать" адрес этого сайта: 212.193.236.38

C:\Documents and Settings\Администратор>ping 212.193.236.38

Обмен пакетами с 212.193.236.38 по 32 байт:

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Статистика Ping для 212.193.236.38:

Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),

Приблизительное время приема-передачи в мс:

Минимальное = 3мсек, Максимальное = 3 мсек, Среднее = 3 мсек

C:\Documents and Settings\Администратор>

Можно заметить только одно отличие - пакеты доходили не мгновенно, а за 3 миллисекунды. Надеюсь, у вас тоже не было никакой задержки при доставке пакетов, а главное - вы не увидели строчки типа

Превышен интервал ожидания для запроса.

Появление таких строчек означает, что часть пакетов теряется. Это свидетельствует о проблемах на линии или не сервере, к которомы вы обращаетесь.

Команда ipconfig

Следующая важная команда - ipconfig . Введите ее. У меня получилось вот так:

Ethernet - Ethernet адаптер:

C:\Documents and Settings\Администратор>

В данном случае получился адрес 192.168.17.139. Можно этот адрес тоже пропинговать (вы пингуйте свой) - пакеты должны доходить мгновенно. Основной шлюз - это адрес, на который компьютер отправляет пакеты, не найдя подходящего адреса в своей сети. Так, в моем случае все пакеты, кроме пакетов на 192.168.17.* будут отправлены на 192.168.17.240, а тот компьюьтер уже должен решить, что с ними делать и куда их переправлять дальше. Примечание: локальная сеть, то есть те адреса, пакеты на которые не отправляются на шлюз, определяется при помощи маски - нолик на последнем месте и 255 на всех предыдующих как раз и означает, что может буть произвольным последнее число в IP-адресе.

Одно из стандартных действий при поиске проблем подключения - пропинговать свой шлюз. Если пакеты до него не доходят, то, видимо, проблема где-то рядом, например, поврежден или плохо воткнут сетевой шнур. Также стоит знать, где физически находится компьютер с вашим основным шлюзом - у провайдера, где-то в доме, а, может, это - можем в вашей квартире. Примечание: некоторые компьютеры настроены не откликаться на запросы команды ping. Поэтому отсутствие пинга - не стопроцентная гарантия отсутствия связи с адресом.

Более подробную информацию можно получить командой ipconfig /all . У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка протокола IP для Windows

Имя компьютера. . . . . . . . . : sander

Основной DNS-суффикс. . . . . . : MSHOME

Тип узла. . . . . . . . . . . . . : смешанный

IP-маршрутизация включена. . . . : нет

WINS-прокси включен. . . . . . . : нет

Порядок просмотра суффиксов DNS . : MSHOME

Ethernet - Ethernet адаптер:

DNS-суффикс этого подключения. . : srcc.msu.ru

Описание. . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller

Физический адрес. . . . . . . . . : 00-16-D4-63-03-65

Dhcp включен. . . . . . . . . . . : да

Автонастройка включена. . . . . : да

IP-адрес. . . . . . . . . . . . : 192.168.17.139

Маска подсети. . . . . . . . . . : 255.255.255.0

Основной шлюз. . . . . . . . . . : 192.168.17.240

DHCP-сервер. . . . . . . . . . . : 192.168.17.240

DNS-серверы. . . . . . . . . . . : 212.192.244.2

212.192.244.3

C:\Documents and Settings\Администратор>

Самую полезную информацию я выделил жирным. выделил мне динамиеский адрес на основе моего MAC-адреса или физического адреса. Мои - это 212.192.244.2 и 212.192.244.3.

Другие команды

Команда tracert позволяет проследить путь пакетов от вашего компьютера до цели. Попробуйте, например протрассировать путь до этого сайта: tracert сайт . Строки в выводе трассировки есть точки, через которые проходит пакет на своем пути. Первой точкой будет ваш шлюз. Использование команды tracert позволяет найти источник проблем при связи с каким-либо адресом. Пакеты, посылаемые командой tracert, имеют показатель TTL - time to live - целое положительное число. Каждый маршрутизатор на пути уменьшает этот показатель на 1, если TTL падает до нуля, то трассировка заканчивается. По умолчанию используется начальный TTL равный 30, задать другое значение можно опцией -h .



Загрузка...