http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Главная Новости

Серверы баз данных | Сетевые технологии

Опубликовано: 05.09.2018

видео Серверы баз данных | Сетевые технологии

Уроки MS SQL Server. Создание таблиц

Подключение к серверу БД

Клиент-серверные СУБД, как правило, представляют клиентам несколько разных способов подключения, среди которых именованные каналы, сокеты, сетевые порты. Последние являются основным способом взаимодействия приложения и сервера баз данных. Номера зарегистрированных портов для распространенных СУБД можно посмотреть в файле /etc/services (cat /etc/services | grep sql, листинг 1).


Вебинар: Выбор сервера для тяжёлой базы данных.

sql*net 66/tcp # Oracle SQL*NET sql*net 66/udp # Oracle SQL*NET sqlserv 118/tcp # SQL Services sqlserv 118/udp # SQL Services sql-net 150/tcp # SQL-NET sql-net 150/udp # SQL-NET sqlsrv 156/tcp # SQL Service sqlsrv 156/udp # SQL Service mini-sql 1114/tcp # Mini SQL mini-sql 1114/udp # Mini SQL mysql-cluster 1186/tcp # MySQL Cluster Manager mysql-cluster 1186/udp # MySQL Cluster Manager ms-sql-s 1433/tcp # Microsoft-SQL-Server ms-sql-s 1433/udp # Microsoft-SQL-Server ms-sql-m 1434/tcp # Microsoft-SQL-Monitor ms-sql-m 1434/udp # Microsoft-SQL-Monitor sybase-sqlany 1498/tcp # Sybase SQL Any sybase-sqlany 1498/udp # Sybase SQL Any unisql 1978/tcp # UniSQL unisql 1978/udp # UniSQL unisql-java 1979/tcp # UniSQL Java unisql-java 1979/udp # UniSQL Java mysql-im 2273/tcp # MySQL Instance Manager mysql-im 2273/udp # MySQL Instance Manager mysql 3306/tcp # MySQL mysql 3306/udp # MySQL ssql 3352/tcp # Scalable SQL ssql 3352/udp # Scalable SQL postgresql 5432/tcp # PostgreSQL Database postgresql 5432/udp # PostgreSQL Database sqlexec 9088/tcp # IBM Informix SQL Interface sqlexec 9088/udp # IBM Informix SQL Interface sqlexec-ssl 9089/tcp # IBM Informix SQL Interface - Encrypted sqlexec-ssl 9089/udp # IBM Informix SQL Interface - Encrypted

Клиент СУБД

Всю работу клиентского приложения с сервером БД можно свести к выполнению трех задач: подключение к серверу, отправка запросов и получение результатов, отключение. Эти и прочие функции доступны клиентскому приложению через API сервера баз данных. Функции API, доступные клиенту, описаны в документации соответствующей СУБД. В листинге 2 приведен пример использования API MySQL в программе на языке C.

#include <stdio.h> #include <stdlib.h> #include "mysql.h" // подключение API MYSQL mysql; MYSQL_RES *res; MYSQL_ROW row; void exiterr(int exitcode) { fprintf(stderr, "%s\n", mysql_error(&mysql)); exit(exitcode); } int main() { uint i = 0; if (!( mysql_connect (&mysql,"host","username","password"))) // соединение с БД exiterr(1); if (mysql_select_db(&mysql,"payroll")) exiterr(2); if ( mysql_query( &mysql,"SELECT name,rate FROM emp_master")) // запрос exiterr(3); // обработка ответа if (!(res = mysql_store_result (&mysql))) exiterr(4); while((row = mysql_fetch_row (res))) { for (i=0 ; i < mysql_num_fields(res); i++) printf("%s\n",row[i]); } if (!mysql_eof(res)) exiterr(5); mysql_free_result(res); mysql_close (&mysql); // отключение }

Постоянные соединения с сервером БД

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

Пример установления постоянного подключения к СУБД MySQL приведен в листинге 3.

<?php $link = mysql_pconnect ("localhost", "username", "password") or die("Could not connect: " . mysql_error()); print ("Connected successfully"); ?>

Ограничения

Использование API СУБД в клиентских приложениях простой, но не всегда подходящий способ. При переходе с одной СУБД на другую это потребует переписывания кода клиентов. Более прозрачным работу с базами данных делает применение промежуточного программного обеспечения или использование унифицированных интерфейсов прикладного программирования ( ODBC, JDBC и др. ).

Постоянный адрес этой страницы:

Карта
rss