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 Version 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 Version 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 Version 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-меньше строк подключения для платформ Linux® и Windows®. Чтобы использовать эти выборки, замените своими значениями соответствующие параметры связи в строках. Значения могут варьироваться на основе вашей настройки базы данных.

База данныхDSN-меньше строки подключения

Microsoft® SQL Server®

Windows — "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®

Windows — "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

Windows — "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 с именем пользователя и паролем и указывает, что транзакции базы данных должны посвятить себя базе данных вручную, и данные о базе данных writeable.

Отметьте, чтобы автоматически фиксировать транзакции в виде одного из этих значений:

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

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

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

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

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

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

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

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

Данные о базе данных только для чтения в виде одного из этих значений:

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

  • 'off' — Данные о базе данных перезаписываемы.

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

Ограничения

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

  • select функция

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

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

Введенный в R2021a