Главная
»
Информационные системы
»
Управление данными
»
ТЕХНОЛОГИЯ РАЗРАБОТКИ КЛИЕНТСКИХ ПРИЛОЖЕНИЙ ДЛЯ СОЗДАНИЯ БАЗЫ ДАННЫХ СУБД MYSQL
ТЕХНОЛОГИЯ РАЗРАБОТКИ КЛИЕНТСКИХ ПРИЛОЖЕНИЙ ДЛЯ СОЗДАНИЯ БАЗЫ ДАННЫХ СУБД MYSQL
46. Технология разработки клиентских приложений для создания базы данных СУБД MySQL
8.4.3.171 mysql_real_connect()
MYSQL*mysql_real_connect(MYSQL *mysql, const char *host, const char *user,const char *passwd, const char *db, unsigned int port, const char*unix_socket, unsigned int client_flag)
Параметры этой функции указываются следующим образом:
- Первым параметром должен быть указатель существующей структуры
MYSQL
. До вызова функции mysql_real_connect
() необходимо вызвать функцию mysql_init()
для инициализации данной структуры MYSQL
. Вызов функции mysql_options()
позволяет изменить многие опции данного соединения. See section 8.4.3.159 mysql_options()
. host
может быть как именем хоста, так и IP-адресом. Если host равен NULL
или строке localhost
, то подразумевается соединение с локальным хостом. Если операционная система поддерживает сокеты (Unix) или именованные каналы (Windows), то они используются вместо протокола TCP/IP для соединения с сервером.- Параметр user содержит имя данного пользователя MySQL. Если параметр user равен
NULL
, то подразумевается текущий пользователь. Под операционной системой Unix, это будет текущее имя входа в систему. Под Windows ODBC имя пользователя должно быть указано явным образом. См. раздел See section 8.3.2 Как заполнять различные поля в Администраторе ODBC. - Параметр
passwd
содержит пароль для user. Если параметр passwd
равен NULL
, то только записи в таблице user
для пользователя, имеющего чистое (пустое) поле пароля, будут проверяться на совпадение. Это дает возможность администратору базы данных устанавливать систему прав MySQL таким образом, что пользователи получают различные права, в зависимости от того, имеют они или нет установленный пароль. Замечание: не следует пытаться шифровать пароль перед вызовом функции mysql_real_connect()
; шифрование пароля производится автоматически библиотекой. - Параметр
db
представляет собой имя базы данных. Если параметр db
не равен NULL
, то данное соединение установит эту величину в качестве базы данных по умолчанию. - Если параметр
port
не равен 0, то данная величина будет использована в качестве порта для соединения TCP/IP. Следует учитывать, что тип соединения определяется параметром host
. - Если параметр
unix_socket
не равен NULL
, то данная строка указывает сокет или именованный канал, который следует использовать. Следует учитывать, что тип соединения определяется параметром host
.
int mysql_create_db(MYSQL *mysql, const char *db)
Данная функция не рекомендуется. Вместо нее предпочтительно использовать функцию mysql_query()
для выполнения SQL-команды CREATE DATABASE
.
8.4.3.25 Возвращаемые значения
Нуль, если база данных создана успешно. Ненулевая величина, если произошла ошибка.
8.4.3.26 Ошибки
CR_COMMANDS_OUT_OF_SYNC
- Команды были выполнены в ненадлежащем порядке.
CR_SERVER_GONE_ERROR
- Сервер MySQL неожиданно завершил работу.
CR_SERVER_LOST
- Соединение с сервером прервалось в процессе данного запроса.
CR_UNKNOWN_ERROR
- Произошла неизвестная ошибка.
8.4.3.27 Пример
if(mysql_create_db(&mysql, my_database))
{
fprintf(stderr, Failed to create new database. Error: %s\n, mysql_error(&mysql));
}
...
void mysql_close(MYSQL *mysql)
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.