MySQL & mSQL



DBI.pmAPI - часть 4


Второй и третий аргументы — имя пользователя и пароль для подключения к базе данных. Для mSQL оба аргумента должны иметь значение 'undef'. Если они заданы как 'jndef при работе с MySQL, то у пользователя, запустившего программу, должны быть права доступа к требуемым базам данных.

Последний аргумент необязателен и является ссылкой на ассоциативный массив. Данный хэш позволяет определить некоторые атрибуты соединения. В настоящее время поддерживаются только атрибуты PrintError, RaiseError и AutoCommit. Для сброса им нужно придать значение 0, для установки - какое-либо истинное значение. По умол-чаник) PrintError и AutoCommit включены, a RaiseError - сброшен. Поскольку в данное время ни mSQL, ни MySQL не поддерживают транзакции, атрибут AutoCommit должен быть установлен (более подробно см. Атрибуты).

При неудаче соединения возвращается неопределенное значение undef, и в $DBI;:errstr помещается ошибка.

Пример

use DBI;

my $db1 = DBI->connect('DBI: mSQL:mydata',undef,undef);

# Теперь $db1 представляет соединение с базой данных 'mydata'на локальном

# сервере mSQL.

my $db2 = DBI->connect( 'DBI:mysql:mydata:myser-ver.com','me','mypassword');

# Теперь $db2 представляет соединение с базой данных 'mydata' сервера MySQL

# 'myserver.com' через порт по умолчанию.

# При соединении использовались имя пользователя 'те' и пароль 'mypassword'.

my $db3 = DBI->connect('DBI:mSQL:mydata',undef,undef, {

RaiseError => 1 });

# Теперь $db3 - такое же соединение, как $db1, за исключением того, что

# установлен атрибут 'RaiseError'.

DBI::data_sources

@data_sources = DBI->data_sources($dbd_driver);

DBI: :data_sources принимает в качестве аргумента имя модуля DBD и возвращает все имеющиеся для этого драйверы базы данных в форма- " те, пригодном к использованию в качестве источника данных функцией DBI::connect . Программа заканчивает свое выполнение с ошибкой, если задано неверное имя драйвера DBD. В текущих версиях модулей Msql-Mysql драйвер для mSQL называется 'mSQL', а для MySQL -'mysql'.




Содержание  Назад  Вперед