база данных

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

Синтаксис

conn = database(datasource,username,password)
conn = database(databasename,username,password,Param1,ParamValue1,...,ParamN,ParamValueN)
conn = database(___,Name,Value)
conn = database(databasename,username,password,driver,url)

Описание

пример

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 допустимые значенияОписание значения ParamParamValue допустимые значения
"Vendor"Поставщик базы данных

  • 'MySQL'

  • 'Oracle'

  • 'Microsoft SQL Server'

  • 'PostgreSQL'

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

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