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 Version 11.00.2100 с помощью Драйвера Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к источнику данных 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 с помощью Microsoft® SQL Server® Driver 11.00.5058.

Создайте соединение с базой данных к базе данных 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 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 Driver 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)

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

свернуть все

Имя источника данных, заданное как вектор символов или скаляр строки. Используйте имя источника данных, который вы конфигурируете в диалоговом окне Microsoft® ODBC Administrator или диалоговом окне JDBC Data Source Configuration. Можно открыть эти диалоговые окна с помощью соответствующего configureODBCDataSource и configureJDBCDataSource функции.

Пример: "ORA_JDBC"

Типы данных: 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Больше о

свернуть все

Имя драйвера 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.

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

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

Предупреждает запуск в R2017a

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