database

Соединитесь с базой данных

Описание

пример

conn = database(datasource,username,password) создает соединение с базой данных к источнику данных с именем пользователя и паролем. Соединением с базой данных является connection объект. Источник данных задает, использует ли соединение с базой данных ODBC или драйвер JDBC.

пример

conn = database(databasename,username,password,Param1,ParamValue1,...,ParamN,ParamValueN) создает соединение с базой данных JDBC к имени базы данных с именем пользователя, паролем и параметрами драйвера JDBC, как задано несколькими аргументами пары "имя-значение".

пример

conn = database(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к любой из комбинаций входных аргументов в предыдущих синтаксисах. Например, conn = database(datasource,username,password,'LoginTimeout',5); создает ODBC или связь JDBC, как задано datasource входной параметр, с тайм-аутом входа в систему 5 секунд.

пример

conn = database(databasename,username,password,driver,url) создает соединение с базой данных JDBC, заданное именем драйвера JDBC и соединением с базой данных URL.

Примеры

свернуть все

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

Чтобы создать соединение с базой данных с помощью драйвера ODBC, необходимо сконфигурировать источник данных ODBC.

Этот пример принимает, что вы соединяетесь с базой данных MySQL Version 5.7.22 с помощью MySQL Driver 5.3.

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

datasource = "MySQL ODBC";
username = "username";
password = "password";
conn = database(datasource,username,password)
conn = 
  connection with properties:

                  DataSource: 'MySQL ODBC'
                    UserName: '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® с помощью sqlread функция. Отобразите первые восемь строк данных.

tablename = "inventoryTable";
data = sqlread(conn,tablename);
head(data)
ans=8×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'}
          4            2580        21     {'2013-06-08 14:24:33'}
          5            9000         3     {'2012-09-14 15:00:25'}
          6            4540         8     {'2013-12-25 19:45:00'}
          7            6034        16     {'2014-08-06 08:38:00'}
          8            8350         5     {'2011-06-18 11:45:35'}

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

max(data.Quantity)
ans = 9000

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

close(conn)

Соединитесь с базой данных PostgreSQL. Затем импортируйте данные от базы данных в MATLAB®, выполните простой анализ данных, и затем закройте соединение с базой данных. Этот пример принимает, что вы соединяетесь с базой данных PostgreSQL 9.4.5 с помощью Собственного Драйвера JDBC PostgreSQL 8.4.

Соединитесь с базой данных с помощью имени базы данных, имени пользователя и пароля. Используйте драйвер JDBC org.postgresql.Driver устанавливать связь.

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

databasename = 'dbname';
username = 'username';
password = 'pwd';
driver = 'org.postgresql.Driver';
url = 'jdbc:postgresql://host:port/dbname';

conn = database(databasename,username,password,driver,url)
conn = 

  connection with properties:

                  DataSource: 'dbname'
                    UserName: 'username'
                      Driver: 'org.postgresql.Driver'
                         URL: 'jdbc:postgresql://host: ...'
                     Message: ''
                        Type: 'JDBC Connection Object'
  Database Properties:

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

  Catalog and Schema Information:

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

  Database and Driver Information:

         DatabaseProductName: 'PostgreSQL'
      DatabaseProductVersion: '9.4.5'
                  DriverName: 'PostgreSQL Native Driver'
               DriverVersion: 'PostgreSQL 8.4 JDBC4 (bui ...'

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

Разделы свойства conn объект:

  • 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)

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

Создайте соединение с базой данных к базе данных MySQL и тайм-ауту входа в систему 5 секунд. Задайте имя пользователя и пароль.

databasename = "toystore_doc";
username = "username";
password = "password";
conn = database(databasename,username,password,'Vendor','MySQL', ...
    'Server','dbtb01','PortNumber',3306,'LoginTimeout',5)
conn = 
  connection with properties:

                  DataSource: 'toystore_doc'
                    UserName: 'username'
                      Driver: 'com.mysql.cj.jdbc.Driver'
                         URL: 'jdbc:mysql://dbtb01:3306/ ...'
                     Message: ''
                        Type: 'JDBC Connection Object'
  Database Properties:

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

  Catalog and Schema Information:

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

  Database and Driver Information:

         DatabaseProductName: 'MySQL'
      DatabaseProductVersion: '5.7.22'
                  DriverName: 'MySQL Connector/J'
               DriverVersion: 'mysql-connector-java-8.0. ...'

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

Разделы свойства conn объект:

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

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

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

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

selectquery = "SELECT * FROM inventoryTable";
data = select(conn,selectquery);
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

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

Имя отличается для различных систем баз данных. Например, databasename SID или сервисное имя, когда вы соединяетесь с Oracle® база данных. Или, databasename имя каталога, когда вы соединяетесь с MySQL® база данных.

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

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

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

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

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

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

Параметры драйвера JDBC в виде нескольких аргументов пары "имя-значение". Param аргумент является вектором символов или строковым скаляром, который задает имя параметра драйвера JDBC. ParamValue аргумент является вектором символов, строковым скаляром или числовым скаляром, который задает значение параметра драйвера JDBC.

Param Допустимые значенияParam Описание значенияParamValue Допустимые значения
"Vendor"Поставщик базы данных

  • 'MySQL'

  • 'Oracle'

  • 'Microsoft SQL Server'

  • 'PostgreSQL'

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

"Server"Имя сервера базы данных или адрес
  • символьный вектор

  • скаляр строки

  • 'localhost' (значение по умолчанию)

"PortNumber"Номер порта сервера, где сервер слушаетЧисловой скаляр
"AuthType"Тип аутентификации (требуемый только для Microsoft® SQL Server®)
  • 'Server' — Аутентификация Microsoft SQL Server

  • 'Windows' Windows® аутентификация

"DriverType"Тип драйвера (требуемый только для Oracle)
  • 'thin' — Тонкий драйвер

  • 'oci' — Аутентификация Windows

Совет:

При создании связи JDBC с помощью параметров драйвера JDBC можно не использовать следующее:

  • 'Server' параметр при соединении с базой данных локально

  • 'PortNumber' параметр при соединении с сервером базы данных, слушающим на порте по умолчанию (за исключением связей Oracle)

Пример: 'Vendor','Microsoft SQL Server','Server','dbtb04','AuthType','Windows','PortNumber',54317 подключения к базе данных Microsoft SQL Server с помощью драйвера JDBC на машине под названием dbtb04 с номером порта аутентификации Windows и использования 54317.

Пример: 'Vendor','MySQL','Server','remotehost' подключения к базе данных MySQL с помощью драйвера JDBC на машине под названием remotehost.

Драйвер JDBC называет в виде вектора символов или строкового скаляра, который относится к имени Java® драйвер, который реализует java.sql.Driver интерфейс. Для получения дополнительной информации см. имя драйвера JDBC и соединение с базой данных URL.

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

Соединение с базой данных URL в виде вектора символов или строкового скаляра для специфичного для поставщика URL. Этот URL обычно создается с помощью свойств связи, таких как имя сервера, номер порта и имя базы данных. Для получения дополнительной информации см. имя драйвера JDBC и соединение с базой данных URL. Если вы не знаете имя драйвера или URL, можно использовать аргументы пары "имя-значение", чтобы задать отдельные свойства связи.

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

Аргументы name-value

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

Пример: 'LoginTimeOut',5,'ErrorHandling','report' задает ожидание в течение 5 секунд, чтобы соединиться с базой данных прежде, чем выдать ошибку и отобразить любые сообщения об ошибке в командной строке.

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

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

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

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

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

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

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

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

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

Данные о базе данных только для чтения в виде разделенной запятой пары, состоящей из 'ReadOnly' и одно из этих значений:

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

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

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

Обработка ошибок в виде разделенной запятой пары, состоящей из 'ErrorHandling' и одно из этих значений:

  • 'store' — Сохраните сообщение об ошибке в Message свойство connection объект.

  • 'report' — Отобразите сообщение об ошибке в командной строке.

Выходные аргументы

свернуть все

Соединение с базой данных, возвращенное как ODBC connection возразите или connection JDBC объект.

Больше о

свернуть все

Имя драйвера JDBC и соединение с базой данных URL

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

База данныхИмя драйвера JDBC и база данных синтаксис URL в качестве примера

IBM® Informix®

Драйвер JDBC: com.informix.jdbc.IfxDriver

База данных URL: jdbc:informix-sqli://161.144.202.206:3000:
INFORMIXSERVER=stars

Microsoft SQL Server 2005

Драйвер JDBC: com.microsoft.sqlserver.jdbc.SQLServerDriver

База данных URL: jdbc:sqlserver://localhost:port;database=databasename

MySQL

Драйвер JDBC: twz1.jdbc.mysql.jdbcMysqlDriver

База данных URL: jdbc:z1MySQL://natasha:3306/metrics

Для MySQL Connector 8.0 и позже:

Драйвер JDBC: com.mysql.cj.jdbc.Driver

Для предыдущих версий MySQL Connector:

Драйвер JDBC: com.mysql.jdbc.Driver

База данных URL: jdbc:mysql://devmetrics.mrkps.com/testing


Чтобы вставить или выбрать символы с кодировкой, которая не является значением по умолчанию, добавьте значение useUnicode=true&characterEncoding=encoding к URL, где encoding любая допустимая кодировка символов MySQL, сопровождаемая &. Например, useUnicode=true&characterEncoding=utf8&.

Запаздывающий & требуется.

 Драйверы Oracle oci7

Драйвер JDBC: oracle.jdbc.driver.OracleDriver

База данных URL: jdbc:oracle:oci7:@rex

 Драйверы Oracle oci8

Драйвер JDBC: oracle.jdbc.driver.OracleDriver

База данных URL: jdbc:oracle:oci8:@111.222.333.44:1521:

База данных URL: jdbc:oracle:oci8:@frug

Oracle 10 Связей с JDBC (Тонкие драйверы)

Драйвер JDBC: oracle.jdbc.driver.OracleDriver

База данных URL: jdbc:oracle:thin:

Oracle Тонкие драйверы

Драйвер JDBC: oracle.jdbc.driver.OracleDriver

База данных URL: jdbc:oracle:thin:@144.212.123.24:1822:

База данных URL: jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ServerName)(PORT = 1234)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbname) ) )

PostgreSQL

Драйвер JDBC: org.postgresql.Driver

База данных URL: jdbc:postgresql://host:port/database

PostgreSQL со связью SSL

Драйвер JDBC: org.postgresql.Driver

База данных URL: jdbc:postgresql:servername:dbname:ssl =
true&sslfactory=org.postgresql.ssl.NonValidatingFactory&

Запаздывающий & требуется.

Teradata®

Драйвер JDBC: com.teradata.jdbc.TeraDriver

База данных URL: jdbc:teradata://DatabaseServerName

Советы

  • Если вы задаете имя источника данных в datasource входной параметр, который появляется и на ODBC и на списках источников данных JDBC, затем database функция создает соединение с базой данных ODBC. В этом случае, если необходимо создать соединение с базой данных JDBC вместо этого, добавьте _JDBC к имени источника данных.

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

Приложение Database Explorer

database функционируйте подключения к базе данных с помощью командной строки. Чтобы соединиться с базой данных и исследовать ее данные визуальным способом, используйте приложение Database Explorer.

Вопросы совместимости

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

Ошибки, запускающиеся в R2020b

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