exponenta event banner

связь

Подключение ODBC к реляционной базе данных

Описание

Создайте подключение к базе данных с помощью драйвера ODBC. Дополнительные сведения о драйверах ODBC и альтернативных драйверах JDBC см. в разделе Выбор драйверов ODBC и JDBC.

Вы можете использовать connection объект для подключения к различным базам данных с использованием различных драйверов, устанавливаемых и администрируемых. Дополнительные сведения см. в разделе Подключение к базе данных.

Создание

Создать connection с использованием odbc или database функция.

Свойства

развернуть все

Свойства подключения

Это свойство доступно только для чтения.

Имя источника данных для подключения ODBC, указанное как символьный вектор. DataSource - это имя, указанное для источника данных при создании источника данных с помощью администратора Microsoft ® ODBC.

Имя источника данных является пустым символьным вектором, если подключение является недопустимым.

Пример: 'MS SQL Server'

Типы данных: char

Это свойство доступно только для чтения.

Имя пользователя, необходимое для доступа к базе данных, указанное как символьный вектор. Если имя пользователя не требуется, укажите пустое значение ''.

Пример: 'username'

Типы данных: char

Это свойство доступно только для чтения.

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

Пример: 'ODBC Driver Error: [Micro ...'

Типы данных: char

Это свойство доступно только для чтения.

Тип подключения к базе данных, указанный как значение 'ODBC Connection Object' это означает, что подключение к базе данных создано с использованием драйвера ODBC.

Типы данных: char

Свойства базы данных

Флажок для автоматической фиксации транзакций, указанный как одно из следующих значений:

  • 'on' - Транзакции базы данных автоматически фиксируются в базе данных.

  • 'off' - Транзакции базы данных должны быть зафиксированы в базе данных вручную.

Пример: 'AutoCommit','off'

Данные базы данных только для чтения, указанные как одно из следующих значений:

  • 'on' - Данные базы данных доступны только для чтения.

  • 'off' - Данные базы данных доступны для записи.

Типы данных: char

Это свойство доступно только для чтения.

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

Если тайм-аут входа для попытки подключения не указан, значение равно 0.

Если время ожидания входа в систему не поддерживается базой данных, значение равно -1.

Типы данных: double

Это свойство доступно только для чтения.

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

Значение: 0 при отсутствии верхнего предела максимального количества подключений к базе данных.

Если максимальное количество подключений к базе данных не поддерживается базой данных, значение равно -1.

Типы данных: double

Сведения о каталоге и схеме

Это свойство доступно только для чтения.

Имя каталога по умолчанию, указанное как символьный вектор.

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

Пример: 'catalog'

Типы данных: char

Это свойство доступно только для чтения.

Имена каталогов, заданные как массив ячеек символьных векторов.

Если база данных не содержит каталогов, значение представляет собой пустой массив ячеек {}.

Пример: {'catalog1', 'catalog2'}

Типы данных: cell

Это свойство доступно только для чтения.

Имена схем, указанные как массив ячеек векторов символов.

Если база данных не содержит схем, значение представляет собой пустой массив ячеек {}.

Пример: {'schema1', 'schema2', 'schema3'}

Типы данных: cell

Сведения о базе данных и драйверах

Это свойство доступно только для чтения.

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

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

Пример: 'Microsoft SQL Server'

Типы данных: char

Это свойство доступно только для чтения.

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

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

Пример: '11.00.2100'

Типы данных: char

Это свойство доступно только для чтения.

Имя драйвера ODBC, указанное как символьный вектор.

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

Пример: 'sqlncli11.dll'

Типы данных: char

Это свойство доступно только для чтения.

Версия драйвера ODBC, указанная как вектор символов.

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

Пример: '11.00.5058'

Типы данных: char

Функции объекта

closeЗакрытие и аннулирование базы данных и средства использования ресурсов драйверов
commitСделать изменения базы данных постоянными
executeВыполнение инструкции SQL с использованием реляционного подключения к базе данных
fetchИмпорт данных в рабочую область MATLAB из выполнения инструкции SQL
isopenОпределить, открыто ли подключение к базе данных
rollbackОтменить изменения базы данных
executeSQLScriptВыполнение сценария SQL в базе данных
selectВыполнить SQL SELECT оператор и импорт данных в MATLAB
sqlfindПоиск информации обо всех типах таблиц в базе данных
sqlinnerjoinВнутреннее соединение между двумя таблицами базы данных
sqlouterjoinВнешнее соединение между двумя таблицами базы данных
sqlreadИмпорт данных в MATLAB из таблицы базы данных
sqlwriteВставка данных MATLAB в таблицу базы данных
updateЗамена данных в таблице базы данных данными MATLAB

Примеры

свернуть все

Сначала создайте подключение ODBC к базе данных MySQL ®. Затем импортируйте данные из базы данных в MATLAB ® и выполните простой анализ данных. Закройте подключение к базе данных. Код предполагает, что вы подключаетесь к базе данных MySQL версии 5.5.46 с помощью драйвера MySQL ODBC 5.3 ANSI.

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

datasource = 'dsname';
username = 'username';
password = 'pwd';

conn = database(datasource,username,password)
conn = 

  connection with properties:

                  DataSource: 'MySQLdb'
                    UserName: 'username'
                     Message: ''
                        Type: 'ODBC Connection Object'
  Database Properties:

                  AutoCommit: 'on'
                    ReadOnly: 'off'
                LoginTimeout: 0
      MaxDatabaseConnections: 0

  Catalog and Schema Information:

              DefaultCatalog: 'catalog'
                    Catalogs: {'catalog1', 'catalog2'}
                     Schemas: {}

  Database and Driver Information:

         DatabaseProductName: 'MySQL'
      DatabaseProductVersion: '5.5.46-0+deb7u1'
                  DriverName: 'myodbc5a.dll'
               DriverVersion: '05.03.0004'

conn имеет пустой Message свойство, указывающее на успешное подключение.

Разделы свойств connection объектами являются:

  • Database Properties - Информация о конфигурации базы данных

  • Catalog and Schema Information - Названия каталогов и схем в базе данных

  • Database and Driver Information - Имена и версии базы данных и драйвера

Импорт всех данных из таблицы inventoryTable в MATLAB с помощью select функция. Просмотрите данные.

selectquery = 'SELECT * FROM inventoryTable';
data = select(conn,selectquery)
ans = 

    productnumber    quantity    price         inventorydate     
    _____________    ________    _____    _______________________

     1               1700        14.5     '2014-09-23 09:38:34.0'
     2               1200         9.3     '2014-07-08 22:50:45.0'
     3                356        17.2     '2014-05-14 07:14:28.0'
     ...

Определите наибольшее количество продукта из таблицы.

max(data.Quantity)
ans =

        9000

Закрыть подключение к базе данных conn.

close(conn)

Альтернативная функциональность

Можно подключиться к файлу базы данных SQLite, создав sqlite объект. Это соединение использует интерфейс MATLAB для SQLite, который не требует установки или администрирования базы данных или драйвера. Дополнительные сведения см. в разделе Работа с интерфейсом MATLAB для SQLite.

Представлен до R2006a