databaseDatastore

Datastore для данных в базе данных

Описание

MATLAB® имеет различные хранилища данных, которые позволяют вам импортировать большие наборы данных в MATLAB для анализа. Объект DatabaseDatastore является типом datastore, который содержит данные из таблицы базы данных или результатов выполнения SQL-запроса в реляционной базе данных. Для получения дополнительной информации о других хранилищах данных, смотрите Начало работы с Datastore (MATLAB).

С объектом DatabaseDatastore можно предварительно просмотреть и считать записи или фрагменты в наборе данных и сбросить DatabaseDatastore к его начальному состоянию. Кроме того, можно анализировать большой набор данных в базе данных с помощью длинных массивов или MapReduce.

Чтение данных из объектов DatabaseDatastore совпадает с выполнением функции fetch на наборе данных. Используя DatabaseDatastore объекты обеспечивают преимущества, которые включают вам к:

Создание

Синтаксис

dbds = databaseDatastore(conn,source)
dbds = databaseDatastore(conn,source,Name,Value)
dbds = databaseDatastore(conn,source,opts)
dbds = databaseDatastore(conn,source,opts,Name,Value)

Описание

пример

dbds = databaseDatastore(conn,source) создает объект DatabaseDatastore с помощью соединения с базой данных. Этот datastore содержит данные из таблицы базы данных или результатов выполняемого SQL-запроса.

пример

dbds = databaseDatastore(conn,source,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'ReadSize',100 получает 100 строк данных из объекта DatabaseDatastore.

пример

dbds = databaseDatastore(conn,source,opts) настраивает опции для импорта большого набора данных от базы данных с помощью объекта SQLImportOptions.

dbds = databaseDatastore(conn,source,opts,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'Catalog','toy_store' получает данные от каталога базы данных toy_store.

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

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

Соединение с базой данных, заданное как объект connection, создается с функцией database.

Источник, заданный как вектор символов или скаляр строки. Источник указывает ли данные об объектно-ориентированной памяти DatabaseDatastore из таблицы базы данных или результатов выполняемого SQL-запроса.

Пример: 'inventorytable'

Пример: "SELECT productnumber,productname FROM producttable"

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

Настройки импорта базы данных, заданные как объект SQLImportOptions.

Аргументы в виде пар имя-значение

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

Пример: databaseDatastore(conn,source,'ReadSize',100,'Catalog','toy_store') создает объект DatabaseDatastore и хранит 100 строк данных из таблицы или SQL-запроса с помощью каталога базы данных toy_store.

Количество строк, чтобы возвратиться, заданный как пара, разделенная запятой, состоящая из 'ReadSize' и положительного числового скаляра. Используйте этот аргумент пары "имя-значение", чтобы ограничить количество строк для извлечения от объекта DatabaseDatastore.

Пример: 1000

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

Имя каталога базы данных, заданное как пара, разделенная запятой, состоящая из 'Catalog' и вектора символов или скаляра строки. Каталог служит контейнером для схем в базе данных и содержит связанную информацию о метаданных. База данных может иметь многочисленные каталоги.

Используйте аргумент пары "имя-значение" 'Catalog' только, когда source будет таблицей базы данных.

Пример: 'Catalog','toy_store'

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

Имя схемы базы данных, заданное как пара, разделенная запятой, состоящая из 'Schema' и вектора символов или скаляра строки. Схема задает таблицы базы данных, представления, отношения среди таблиц и другие элементы. Каталог базы данных может иметь многочисленные схемы.

Используйте аргумент пары "имя-значение" 'Schema' только, когда source будет таблицей базы данных.

Пример: 'Schema','dbo'

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

Ограничения

  • Поддержка объектов DatabaseDatastore только Microsoft® SQL Server® 2012 и более поздние версии.

  • Объект DatabaseDatastore не поддерживает использование параллельного пула с установленным Parallel Computing Toolbox™. Чтобы анализировать данные с помощью длинных массивов или запустить алгоритмы MapReduce, установите глобальную среду выполнения быть локальным сеансом работы с MATLAB при помощи mapreducer. Введите этот код:

    mapreducer(0)
    Для получения дополнительной информации об управлении параллельными ресурсами, см. mapreduce Выполнения на Параллельном Пуле (Parallel Computing Toolbox).

Свойства

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

Это свойство доступно только для чтения.

Соединение с базой данных, заданное как объект connection, созданный с помощью database.

Это свойство доступно только для чтения.

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

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

Это свойство доступно только для чтения.

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

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

Количество строк, чтобы читать из полученной таблицы данных, заданной в виде неотрицательного числа. Чтобы задать количество строк, чтобы читать, установите свойство ReadSize.

Пример: dbds.ReadSize = 5000;

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

Функции объекта

hasdataОпределите, доступны ли данные в DatabaseDatastore в чтение
previewВозвратите подмножество данных DatabaseDatastore
readСчитайте данные в DatabaseDatastore
readallСчитывайте все данные в DatabaseDatastore
resetСбросьте DatabaseDatastore к начальному состоянию
closeЗакройте и делайте недействительным базу данных и ресурс драйвера utilizer

Примеры

свернуть все

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

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

datasource = "MSSQLServerJDBCAuth";
username = "";
password = "";
conn = database(datasource,username,password);

Создайте объект DatabaseDatastore с помощью соединения с базой данных и SQL-запроса. Этот SQL-запрос получает все полетные данные из таблицы airlinesmall. databaseDatastore выполняет SQL-запрос.

sqlquery = 'select * from airlinesmall';

dbds = databaseDatastore(conn,sqlquery)
dbds = 

  DatabaseDatastore with properties:

       Connection: [1×1 database.jdbc.connection]
            Query: 'select * from airlinesmall'
    VariableNames: {1×29 cell}
         ReadSize: 10000

dbds является объектом DatabaseDatastore с этими свойствами:

  • Connection - Объект соединения с базой данных

  • Query - Выполняемый SQL-запрос

  • Имена переменных-- Список имен столбцов от выполняемого SQL-запроса

  • ReadSize -- Максимальное количество записей, чтобы читать из выполняемого SQL-запроса

Отобразите свойство соединения с базой данных.

dbds.Connection
ans = 

  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 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'

Свойство Message является пробелом, когда соединение с базой данных успешно.

Предварительно просмотрите первые восемь записей в большом наборе данных, возвращенном путем выполнения SQL-запроса в объекте DatabaseDatastore.

preview(dbds)
ans =

  8×29 table

    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum     ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    NASDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    ________    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    1990      9          11            2         1810         1812        1939         1930           'AA'           1426       'NA'                89                 78           'NA'          9          -2       'RST'     'ORD'       268       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          27            6         1353         1355        1634         1640           'US'            112       'NA'               161                165           'NA'         -6          -2       'TPA'     'SYR'      1104       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          23            2         1057         1055        1205         1155           'US'           1621       'NA'                68                 60           'NA'         10           2       'ROC'     'EWR'       246       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10           8            1         1515         1440        1609         1535           'NW'            749       'NA'                54                 55           'NA'         34          35       'MSP'     'FSD'       197       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          19            5         1130         1120        1203         1154           'UA'            369       'NA'                93                 94           'NA'          9          10       'BUF'     'ORD'       473       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          12            5         1755         1733        1858         1820           'DL'            590       'NA'                63                 47           'NA'         38          22       'BOS'     'BGR'       201       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    2001     11          22            4         1345         1355        1530         1549           'MQ'           4982       '#NAME?'           105                114           '90'        -19         -10       'JAX'     'MIA'       334       '8'       '7'           0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    2001     11          26            1         2105         2110        2209         2237           'AA'           1947       'N3BäA1'            64                 87           '47'        -28          -5       'SFO'     'LAX'       337       '6'       '11'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       

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

close(dbds)

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

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

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

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

Загрузите информацию о рейсе в рабочей области MATLAB®.

flights = readtable('airlinesmall_subset.xlsx');

Создайте таблицу базы данных flights с помощью информации о рейсе.

tablename = 'flights';
sqlwrite(conn,tablename,flights)

Создайте объект DatabaseDatastore с помощью соединения с базой данных и таблицы базы данных flights.

dbds = databaseDatastore(conn,tablename)
dbds = 
  DatabaseDatastore with properties:

       Connection: [1×1 database.odbc.connection]
            Query: 'SELECT * from flights'
    VariableNames: {1×29 cell}
         ReadSize: 10000

dbds является объектом DatabaseDatastore с этими свойствами:

  • Connection — Объект соединения с базой данных

  • Query — Выполняемый SQL-запрос

  • Имена переменных Список имен столбцов от выполняемого SQL-запроса

  • ReadSize Максимальное количество записей, чтобы читать из выполняемого SQL-запроса

Отобразите свойство соединения с базой данных.

dbds.Connection
ans = 
  connection with properties:

                  DataSource: 'MS SQL Server Auth'
                    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 2 more}

  Database and Driver Information:

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

Свойство Message является пробелом, когда соединение с базой данных успешно.

Предварительно просмотрите первые восемь записей в наборе данных, возвращенном путем выполнения SQL-запроса в объекте DatabaseDatastore.

preview(dbds)
ans=8×29 table
    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum     ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    SDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    ________    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ______    _____________    _________________

    1996      1          18            4         2117         2120        2305         2259           'HP'            415       'N637AW'           108                 99            85           6          -3       'COS'     'PHX'      551         5         18           0              NaN              0            NaN             NaN          NaN           NaN                NaN       
    1996      1          12            5         1252         1245        1511         1500           'HP'            610       'N905AW'            79                 75            58          11           7       'LAX'     'PHX'      370         3         18           0              NaN              0            NaN             NaN          NaN           NaN                NaN       
    1996      1          16            2         1441         1445        1708         1721           'HP'            211       'N165AW'            87                 96            74         -13          -4       'RNO'     'PHX'      601         4          9           0              NaN              0            NaN             NaN          NaN           NaN                NaN       
    1996      1           1            1         2258         2300        2336         2335           'HP'           1245       'N183AW'            38                 35            20           1          -2       'TUS'     'PHX'      110         6         12           0              NaN              0            NaN             NaN          NaN           NaN                NaN       
    1996      1           4            4         1814         1814        1901         1910           'US'            683       'N963VJ'            47                 56            34          -9           0       'DTW'     'PIT'      201         6          7           0              NaN              0            NaN             NaN          NaN           NaN                NaN       
    1996      1          31            3         1822         1820        1934         1925           'US'            757       'N912VJ'            72                 65            52           9           2       'PHL'     'PIT'      267         6         14           0              NaN              0            NaN             NaN          NaN           NaN                NaN       
    1996      1          18            4          729          730         841          843           'US'           1564       'N941VJ'            72                 73            58          -2          -1       'DCA'     'PVD'      357         3         11           0              NaN              0            NaN             NaN          NaN           NaN                NaN       
    1996      1          26            5         1704         1705        1829         1839           'NW'           1538       'N960N'             85                 94            69         -10          -1       'DTW'     'RIC'      456         3         13           0              NaN              0            NaN             NaN          NaN           NaN                NaN       

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

close(dbds)

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

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

datasource = "MSSQLServerJDBCAuth";
username = "";
password = "";
conn = database(datasource,username,password);

Создайте объект DatabaseDatastore с помощью соединения с базой данных и SQL-запроса. Этот SQL-запрос получает все полетные данные из таблицы airlinesmall. Задайте чтение максимума 1 000 записей от выполняемого SQL-запроса. databaseDatastore выполняет SQL-запрос.

sqlquery = 'select * from airlinesmall';

dbds = databaseDatastore(conn,sqlquery,'ReadSize',1000)
dbds = 

  DatabaseDatastore with properties:

       Connection: [1×1 database.jdbc.connection]
            Query: 'select * from airlinesmall'
    VariableNames: {1×29 cell}
         ReadSize: 1000

dbds является объектом DatabaseDatastore с этими свойствами:

  • Connection - Объект соединения с базой данных

  • Query - Выполняемый SQL-запрос

  • Имена переменных-- Список имен столбцов от выполняемого SQL-запроса

  • ReadSize -- Максимальное количество записей, чтобы читать из выполняемого SQL-запроса

Отобразите свойство соединения с базой данных.

dbds.Connection
ans = 

  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 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'

Свойство Message является пробелом, когда соединение с базой данных успешно.

Предварительно просмотрите первые восемь записей в большом наборе данных, возвращенном путем выполнения SQL-запроса в объекте DatabaseDatastore.

preview(dbds)
ans =

  8×29 table

    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum    TailNum     ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin    Dest     Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay    NASDelay    SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    ________    _________________    ______________    _______    ________    ________    ______    _____    ________    ______    _______    _________    ________________    ________    ____________    ____________    ________    _____________    _________________

    1990      9          11            2         1810         1812        1939         1930           'AA'           1426       'NA'                89                 78           'NA'          9          -2       'RST'     'ORD'       268       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          27            6         1353         1355        1634         1640           'US'            112       'NA'               161                165           'NA'         -6          -2       'TPA'     'SYR'      1104       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          23            2         1057         1055        1205         1155           'US'           1621       'NA'                68                 60           'NA'         10           2       'ROC'     'EWR'       246       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10           8            1         1515         1440        1609         1535           'NW'            749       'NA'                54                 55           'NA'         34          35       'MSP'     'FSD'       197       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          19            5         1130         1120        1203         1154           'UA'            369       'NA'                93                 94           'NA'          9          10       'BUF'     'ORD'       473       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    1990     10          12            5         1755         1733        1858         1820           'DL'            590       'NA'                63                 47           'NA'         38          22       'BOS'     'BGR'       201       'NA'      'NA'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    2001     11          22            4         1345         1355        1530         1549           'MQ'           4982       '#NAME?'           105                114           '90'        -19         -10       'JAX'     'MIA'       334       '8'       '7'           0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       
    2001     11          26            1         2105         2110        2209         2237           'AA'           1947       'N3BäA1'            64                 87           '47'        -28          -5       'SFO'     'LAX'       337       '6'       '11'          0              'NA'             0            'NA'            'NA'          'NA'          'NA'               'NA'       

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

close(dbds)

Настройте настройки импорта при импорте большого набора данных из таблицы базы данных. Управляйте настройками импорта путем создания объекта SQLImportOptions. Затем настройте настройки импорта для столбцов базы данных, которые содержат логические данные. Импортируйте и предварительно просмотрите данные путем создания объекта DatabaseDatastore и использования функции preview .

Этот пример использует электронную таблицу airlinesmall_subset.xls , которая содержит столбец Cancelled. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

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

Загрузите информацию о рейсе в рабочую область MATLAB®.

flights = readtable('airlinesmall_subset.xlsx');

Создайте таблицу базы данных flights с помощью информации о рейсе.

tablename = 'flights';
sqlwrite(conn,tablename,flights)

Создайте объект SQLImportOptions с помощью таблицы базы данных flights с функцией databaseImportOptions.

opts = databaseImportOptions(conn,tablename);

Получите настройки импорта по умолчанию для переменной Cancelled .

varnames = 'Cancelled';
varOpts = getoptions(opts,varnames)
varOpts = 
  SQLVariableImportOptions with properties:

  Variable Properties :
               Name: 'Cancelled'
               Type: 'double'
          FillValue: NaN

Установите настройки импорта для типа данных заданной переменной к logical. Кроме того, установите настройки импорта заменять недостающие данные в заданной переменной со значением заливки true.

opts = setoptions(opts,varnames,'Type','logical', ...
    'FillValue',true);

Создайте объект DatabaseDatastore импортировать большой набор данных с помощью настроек импорта.

dbds = databaseDatastore(conn,tablename,opts);

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

opts.SelectedVariableNames = varnames;
data = preview(dbds);
cancelled = data.Cancelled
cancelled = 8×1 logical array

   0
   0
   0
   0
   0
   0
   0
   0

Удалите таблицу базы данных flights с помощью функции execute.

sqlquery = ['DROP TABLE ' tablename];
execute(conn,sqlquery)

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

close(conn)

Настройте настройки импорта при импорте большого набора данных из таблицы базы данных. Управляйте настройками импорта путем создания объекта SQLImportOptions. Затем настройте настройки импорта для столбцов базы данных, которые содержат логические данные. Создайте объект DatabaseDatastore с помощью заданного каталога базы данных и схемы. Импортируйте данные о базе данных и предварительно просмотрите их при помощи функции preview с объектом DatabaseDatastore.

Этот пример использует электронную таблицу airlinesmall_subset.xls , которая содержит столбец Cancelled. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

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

Загрузите информацию о рейсе в рабочую область MATLAB®.

flights = readtable('airlinesmall_subset.xlsx');

Создайте таблицу базы данных flights с помощью информации о рейсе и каталога базы данных toy_store и схемы базы данных dbo.

tablename = 'flights';
sqlwrite(conn,tablename,flights, ...
    'Catalog','toy_store','Schema','dbo')

Создайте объект SQLImportOptions с помощью таблицы базы данных flights и функции databaseImportOptions. Задайте каталог базы данных toy_store и схему базы данных dbo.

opts = databaseImportOptions(conn,tablename, ...
    'Catalog','toy_store','Schema','dbo');

Получите настройки импорта по умолчанию для переменной Cancelled .

varnames = 'Cancelled';
varOpts = getoptions(opts,varnames)
varOpts = 
  SQLVariableImportOptions with properties:

  Variable Properties :
               Name: 'Cancelled'
               Type: 'double'
          FillValue: NaN

Установите настройки импорта для типа данных заданной переменной к logical. Кроме того, установите настройки импорта заменять недостающие данные в заданной переменной со значением заливки true.

opts = setoptions(opts,varnames,'Type','logical', ...
    'FillValue',true);

Создайте объект DatabaseDatastore импортировать большой набор данных с помощью настроек импорта, каталога базы данных toy_store и схемы базы данных dbo.

dbds = databaseDatastore(conn,tablename,opts, ...
    'Catalog','toy_store','Schema','dbo');

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

opts.SelectedVariableNames = varnames;
data = preview(dbds);
cancelled = data.Cancelled
cancelled = 8×1 logical array

   0
   0
   0
   0
   0
   0
   0
   0

Удалите таблицу базы данных flights из каталога базы данных toy_store и схемы базы данных dbo при помощи функции execute.

sqlquery = ['DROP TABLE toy_store.dbo.' tablename];
execute(conn,sqlquery)

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

close(conn)

Введенный в R2014b