odbc

Создайте подключение к базе данных ODBC

Описание

пример

conn = odbc(datasource,username,password) создает подключение базы данных к источнику данных ODBC с именем пользователя и паролем. Подключение к базе данных conn возвращается как ODBC connection объект.

пример

conn = odbc(datasource,username,password,Name,Value) задает опции, используя один или несколько аргументов имя-значение. Для примера, 'LoginTimeout',5 создает соединение ODBC со временем входа 5 секунд.

пример

conn = odbc(dsnless) создает соединение с базой данных с помощью строки подключения без DSN. (DSN является именем источника данных.)

Примеры

свернуть все

Подключитесь к базе данных MySQL ® с помощью подключения к базе данных ODBC. Затем импортируйте данные из базы данных в MATLAB ®, выполните простой анализ данных и закройте соединение с базой данных.

Этот пример предполагает, что вы подключаетесь к базе данных MySQL версии 5.7.22 с помощью драйвера MySQL ODBC 5.3.

Создайте подключение базы данных к базе данных MySQL. Укажите имя пользователя и пароль.

datasource = "MySQL ODBC";
conn = odbc(datasource,"root","matlab")
conn = 
  connection with properties:

                  DataSource: 'MySQL ODBC'
                    UserName: 'root'
                     Message: ''
                        Type: 'ODBC Connection Object'
  Database Properties:

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

  Catalog and Schema Information:

              DefaultCatalog: 'toystore_doc'
                    Catalogs: {'information_schema', 'detsdb', 'mysql' ... and 4 more}
                     Schemas: {}

  Database and Driver Information:

         DatabaseProductName: 'MySQL'
      DatabaseProductVersion: '5.7.22'
                  DriverName: 'myodbc5a.dll'
               DriverVersion: '05.03.0014'

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

Разделы свойств conn являются:

  • Database Properties - Информация о строении базы данных

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

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

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

query = "SELECT * FROM inventoryTable";
data = fetch(conn,query);
head(data,3)
ans=3×4 table
    productNumber    Quantity    Price         inventoryDate     
    _____________    ________    _____    _______________________

          1            1700      14.5     {'2014-09-23 09:38:34'}
          2            1200         9     {'2014-07-08 22:50:45'}
          3             356        17     {'2014-05-14 07:14:28'}

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

max(data.Quantity)
ans = 9000

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

close(conn)

Подключитесь к базе данных MySQL ® с помощью источника данных ODBC и значения тайм-аута. Затем импортируйте данные из базы данных в MATLAB ®, выполните простой анализ данных и закройте соединение с базой данных.

Этот пример предполагает, что вы подключаетесь к базе данных MySQL версии 5.7.22 с помощью драйвера MySQL ODBC 5.3.

Создайте подключение базы данных к базе данных MySQL с помощью источника данных ODBC. Укажите имя пользователя и пароль. Кроме того, задайте значение тайм-аута 5 секунд для подключения к базе данных.

datasource = "MySQL ODBC";
username = "root";
password = "matlab";
conn = odbc(datasource,username,password,'LoginTimeout',5)
conn = 
  connection with properties:

                  DataSource: 'MySQL ODBC'
                    UserName: 'root'
                     Message: ''
                        Type: 'ODBC Connection Object'
  Database Properties:

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

  Catalog and Schema Information:

              DefaultCatalog: 'toystore_doc'
                    Catalogs: {'information_schema', 'detsdb', 'mysql' ... and 4 more}
                     Schemas: {}

  Database and Driver Information:

         DatabaseProductName: 'MySQL'
      DatabaseProductVersion: '5.7.22'
                  DriverName: 'myodbc5a.dll'
               DriverVersion: '05.03.0014'

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

Разделы свойств conn являются:

  • Database Properties - Информация о строении базы данных

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

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

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

query = "SELECT * FROM inventoryTable";
data = fetch(conn,query);
head(data,3)
ans=3×4 table
    productNumber    Quantity    Price         inventoryDate     
    _____________    ________    _____    _______________________

          1            1700      14.5     {'2014-09-23 09:38:34'}
          2            1200         9     {'2014-07-08 22:50:45'}
          3             356        17     {'2014-05-14 07:14:28'}

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

max(data.Quantity)
ans = 9000

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

close(conn)

Подключение к базе данных MySQL ® с помощью подключения к базе данных без DSN. Затем импортируйте данные из базы данных в MATLAB ®, выполните простой анализ данных и закройте соединение с базой данных.

Этот пример предполагает, что вы подключаетесь к базе данных MySQL версии 5.7.22 с помощью драйвера MySQL ODBC 5.3.

Создайте подключение базы данных к базе данных MySQL. Задайте строку подключения.

dsnless = strcat("Driver={MySQL ODBC 5.3 Ansi Driver}; Server=dbtb01;", ...
   "Database=toystore_doc; UID=root; PWD=matlab");
conn = odbc(dsnless)
conn = 
  connection with properties:

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

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

  Catalog and Schema Information:

              DefaultCatalog: 'toystore_doc'
                    Catalogs: {'information_schema', 'detsdb', 'mysql' ... and 4 more}
                     Schemas: {}

  Database and Driver Information:

         DatabaseProductName: 'MySQL'
      DatabaseProductVersion: '5.7.22'
                  DriverName: 'myodbc5a.dll'
               DriverVersion: '05.03.0014'

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

Разделы свойств conn являются:

  • Database Properties - Информация о строении базы данных

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

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

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

query = "SELECT * FROM inventoryTable";
data = fetch(conn,query);
head(data,3)
ans=3×4 table
    productNumber    Quantity    Price         inventoryDate     
    _____________    ________    _____    _______________________

          1            1700      14.5     {'2014-09-23 09:38:34'}
          2            1200         9     {'2014-07-08 22:50:45'}
          3             356        17     {'2014-05-14 07:14:28'}

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

max(data.Quantity)
ans = 9000

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

close(conn)

Входные параметры

свернуть все

Имя источника данных, заданное как вектор символов или строковый скаляр. Укажите имя существующего источника данных.

Пример: "myDataSource"

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

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

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

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

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

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

В этой таблице показаны некоторые выборки строк подключения без DSN для Windows® и Linux® платформы. Чтобы использовать эти выборки, замените значения соответствующими параметрами соединения в строках. Значения могут варьироваться в зависимости от строения базы данных.

База данныхСтрока соединения без DSN

Microsoft® SQL Server®

Окна - "Driver={SQL Server Native Client 11.0}; Server=localhost\toy_store; Port=1433; Database=toy_store; UID=user; PWD=password"

Linux - "Driver={ODBC Driver 17 for SQL Server}; Server=localhost,1433; Database=toy_store; UID=user; PWD=password"

MySQL®

Окна - "Driver={MySQL ODBC 5.3 Ansi Driver}; Server=localhost; Database=toy_store; UID=user; PWD=password"

Linux - "Driver={MySQL ODBC 5.3}; Server=localhost; Database=toy_store; UID=user; PWD=password"

PostgreSQL

Окна - "Driver={PostgreSQL ANSI(x64)}; Server=localhost; Database=toy_store; UID=user; PWD=password"

Linux - "Driver={PostgreSQL ANSI};Servername=localhost;Database=toy_store;UID=user;PWD=password"

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: conn = odbc(datasource,username,password,'AutoCommit','off','ReadOnly','off') создает подключение базы данных к источнику данных ODBC с именем пользователя и паролем и указывает, что транзакции базы данных должны быть зафиксированы в базе данных вручную и данные базы данных могут быть записаны.

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

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

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

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

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

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

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

Пример: 'LoginTimeout',5

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

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

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

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

Пример: 'ReadOnly','on'

Ограничения

Платформа Linux не поддерживает следующее:

  • select функция

  • Подключение базы данных ODBC с помощью приложения Database Explorer

  • Драйвер ODBC MySQL 8.0 и выше

Введенный в R2021a