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-адрес подключения к базе данных.

Примеры

свернуть все

Подключитесь к базе данных Microsoft ® SQL Server ®. Затем импортируйте данные из базы данных в MATLAB ®. Выполните простой анализ данных, а затем закройте соединение с базой данных.

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

Этот пример предполагает подключение к базе данных Microsoft SQL Server 11.00.2100 с помощью 11.00.5058 драйвера Microsoft SQL Server.

Создайте подключение базы данных к источнику данных JDBC MSSQLServerJDBCAuth. Этот источник данных настраивает драйвер JDBC для базы данных Microsoft SQL Server с проверкой подлинности Windows ®. Укажите пустые имя пользователя и пароль .

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

                  DataSource: 'MSSQLServerJDBCAuth'
                    UserName: ''
                      Driver: 'com.microsoft.sqlserver.j ...'
                         URL: 'jdbc:sqlserver://dbtb04:5 ...'
                     Message: ''
                        Type: 'JDBC Connection Object'
  Database Properties:

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

  Catalog and Schema Information:

              DefaultCatalog: 'toy_store'
                    Catalogs: {'master', 'model', 'msdb' ... and 2 more}
                     Schemas: {'db_accessadmin', 'db_backupoperator', 'db_datareader' ... and 14 more}

  Database and Driver Information:

         DatabaseProductName: 'Microsoft SQL Server'
      DatabaseProductVersion: '11.00.2100'
                  DriverName: 'Microsoft JDBC Driver 4.0 ...'
               DriverVersion: '4.0.2206.100'

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       20      '2014-12-01 08:50:15.0'
          2            1200        9      '2014-07-08 22:50:45.0'
          3             356       17      '2014-05-14 07:14:28.0'
          4            2580       21      '2013-06-08 14:24:33.0'
          5            9000        3      '2012-09-14 15:00:25.0'
          6            4540        8      '2013-12-25 19:45:00.0'
          7            6034       16      '2014-08-06 08:38:00.0'
          8            8350        5      '2011-06-18 11:45:35.0'

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

max(data.Quantity)
ans = 9000

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

close(conn)

Подключитесь к базе данных Microsoft ® SQL Server ®. Затем импортируйте данные из базы данных в MATLAB ®. Выполните простой анализ данных. Закройте подключение к базе данных.

Этот пример предполагает подключение к базе данных Microsoft ® SQL Server ® Version 11.00.2100 с помощью 11.00.5058 драйвера Microsoft ® SQL Server ®.

Создайте подключение базы данных к базе данных Microsoft ® SQL Server ® с помощью проверки подлинности Windows ®. Укажите пустые имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','')
conn = 

  connection with properties:

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

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

  Catalog and Schema Information:

              DefaultCatalog: 'toy_store'
                    Catalogs: {'master', 'msdb', 'tempdb' ... and 1 more}
                     Schemas: {'dbo', 'guest', 'INFORMATION_SCHEMA' ... and 3 more}

  Database and Driver Information:

         DatabaseProductName: 'Microsoft SQL Server'
      DatabaseProductVersion: '11.00.2100'
                  DriverName: 'sqlncli11.dll'
               DriverVersion: '11.00.6518'

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

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

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

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

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

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

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

  3×4 table

    productNumber    Quantity    Price          inventoryDate      
    _____________    ________    _____    _________________________

          1            1700       20      '2014-12-01 08:50:15.000'
          2            1200        9      '2014-07-08 22:50:45.000'
          3             356       17      '2014-05-14 07:14:28.000'

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

max(data.Quantity)
ans =

        9000

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

close(conn)

Подключитесь к базе данных PostgreSQL. Затем импортируйте данные из базы данных в MATLAB®, выполните простой анализ данных, а затем закройте соединение с базой данных. Этот пример предполагает, что вы соединяетесь с базой данных PostgreSQL 9.4.5 с помощью драйвера JDBC PostgreSQL Native 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)

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

Этот пример предполагает подключение к базе данных Microsoft ® SQL Server ® Version 11.00.2100 с помощью драйвера Microsoft ® SQL Server ® JDBC 4.0.2206.100.

Создайте подключение базы данных к базе данных Microsoft ® SQL Server ® с помощью проверки подлинности Windows ® и тайм-аута входа в систему через 5 секунд. Укажите пустые имя пользователя и пароль.

databasename = 'toy_store';
conn = database(databasename,'','','Vendor','Microsoft SQL Server', ...
    'Server','dbtb04','AuthType','Windows','PortNumber',54317, ...
    'LoginTimeout',5)
conn = 

  connection with properties:

                  DataSource: 'toy_store'
                    UserName: ''
                      Driver: 'com.microsoft.sqlserver.j ...'
                         URL: 'jdbc:sqlserver://dbtb04:5 ...'
                     Message: ''
                        Type: 'JDBC Connection Object'
  Database Properties:

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

  Catalog and Schema Information:

              DefaultCatalog: 'toy_store'
                    Catalogs: {'master', 'model', 'msdb' ... and 2 more}
                     Schemas: {'db_accessadmin', 'db_backupoperator', 'db_datareader' ... and 15 more}

  Database and Driver Information:

         DatabaseProductName: 'Microsoft SQL Server'
      DatabaseProductVersion: '11.00.2100'
                  DriverName: 'Microsoft JDBC Driver 4.0 ...'
               DriverVersion: '4.0.2206.100'

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

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

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

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

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

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

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

  3×4 table

    productNumber    Quantity    Price         inventoryDate     
    _____________    ________    _____    _______________________

          1            1700       20      '2014-12-01 08:50:15.0'
          2            1200        9      '2014-07-08 22:50:45.0'
          3             356       17      '2014-05-14 07:14:28.0'

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

max(data.Quantity)
ans =

        9000

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

close(conn)

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

свернуть все

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

Пример: "myDataSource"

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

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

Имя отличается для различных систем баз данных. Для примера, databasename SID или имя службы при соединении с Oracle® база данных. Или, databasename - имя каталога при соединении с MySQL;® база данных.

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

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

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

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

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

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

Параметры драйвера JDBC, заданные как несколько аргументы пары "имя-значение". A Param аргумент является вектором символов или строковым скаляром, который задает имя параметра драйвера JDBC. A 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' - Окна® идентификация

"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 должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке 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 объект или JDBC connection объект.

Подробнее о

свернуть все

Имя драйвера JDBC и URL-адрес подключения к базе данных

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

База данныхСинтаксис имени драйвера и URL- Примера базы данных JDBC

IBM® Informix®

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

URL базы данных: jdbc: informix-sqli ://161.144.202.206: 3000:
INFORMIXSERVER = звезды

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 Thin 

Драйвер 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