exponenta event banner

база данных

Подключиться к базе данных

Описание

пример

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 с помощью 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 с помощью драйвера 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 ® версии 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' - Проверка подлинности 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-адрес подключения к базе данных имеют различные формы для разных баз данных. Дополнительные сведения см. в документации драйвера базы данных.

База данныхПример синтаксиса имени драйвера 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 подключается к базе данных с помощью командной строки. Чтобы подключиться к базе данных и визуально просмотреть ее данные, используйте приложение Database Explorer.

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

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

Ошибки, начинающиеся с R2020b

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