связь

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

Описание

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

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

Создание

Создайте объект connection с помощью функции database.

Свойства

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

ODBC и свойства связи JDBC

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

Имя источника данных для имени подключения ODBC или имя базы данных для связи JDBC, заданной как вектор символов. Для драйвера ODBC DataSource является именем, вы предусматриваете свой источник данных, когда вы создаете источник данных с помощью Microsoft® ODBC Administrator. Для драйвера JDBC DataSource является именем вашей базы данных. Имя отличается для различных систем баз данных. Например, DataSource является SID или сервисным именем, когда вы соединяетесь с базой данных Oracle®. Или, DataSource является именем каталога, когда вы соединяетесь с базой данных MySQL®. Для получения дополнительной информации о вашем имени базы данных, свяжитесь со своим администратором базы данных или обратитесь к вашей документации базы данных.

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

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

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

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

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

Пример: 'username'

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

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

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

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

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

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

Тип соединения с базой данных, заданный как одно из этих значений:

  • 'JDBC Connection Object' — Соединение с базой данных создается с помощью драйвера JDBC.

  • 'ODBC Connection Object' — Соединение с базой данных создается с помощью драйвера ODBC.

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

Свойства связи JDBC

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

Драйвер JDBC, заданный как вектор символов при соединении с базой данных с помощью драйвера JDBC URL. Это свойство зависит от свойства URL.

Пример: 'com.mysql.jdbc.jdbc2.opti ...'

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

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

Соединение с базой данных URL, заданный как вектор символов для специфичной для поставщика строки. Это свойство зависит от свойства Driver.

Пример: 'jdbc:mysql://sname:1234/ ...'

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

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

Автоматически фиксируйте транзакции, заданные как одно из этих значений:

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

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

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

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

  • '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 или драйвера JDBC, заданного как вектор символов.

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

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

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

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

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

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

Пример: '11.00.5058'

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

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

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

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

Примеры

свернуть все

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

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

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)

Создайте связь JDBC с базой данных Oracle. Чтобы создать эту связь, необходимо сконфигурировать источник данных JDBC. Для получения дополнительной информации смотрите, что configureJDBCDataSource функционирует. Затем импортируйте данные от базы данных в MATLAB, выполните простой анализ данных и закройте соединение с базой данных.

Этот пример принимает, что вы соединяетесь с Базой данных Oracle 12c Enterprise Edition Релиз 12.1.0.2.0 с помощью Драйвера JDBC Oracle 12.1.0.1.0.

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

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

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

  connection with properties:

                  DataSource: 'dsname'
                    UserName: 'username'
                      Driver: 'oracle.jdbc.pool.OracleDa ...'
                         URL: 'jdbc:oracle:thin:@(DESCRI ...'
                     Message: ''
                        Type: 'JDBC Connection Object'
  Database Properties:

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

  Catalog and Schema Information:

              DefaultCatalog: ''
                    Catalogs: {}
                     Schemas: {'schema1', 'schema2', 'schema3' ... and 39 more}

  Database and Driver Information:

         DatabaseProductName: 'Oracle'
      DatabaseProductVersion: 'Oracle Database 12c Enter ...'
                  DriverName: 'Oracle JDBC driver'
               DriverVersion: '12.1.0.1.0'

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

Закройте соединение с базой данных.

close(conn)

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

Объект connection является одним из двух доступных типов соединения с базой данных. Другой создает объект sqlite, который соединяется с файлом базы данных SQLite с помощью интерфейса MATLAB для SQLite, не устанавливая или администрируя базу данных или драйвер. Для получения дополнительной информации смотрите Работу с Интерфейсом MATLAB к SQLite.

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

Для просмотра документации необходимо авторизоваться на сайте