fetch

(Не рекомендуемый), Импортируют данные в рабочее пространство MATLAB от курсора базы данных

fetch функция с cursor объект не рекомендуется. Используйте fetch функция с connection возразите или select функцию вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Функциональность курсора с возможностью прокрутки не имеет никакой замены.

Описание

пример

curs = fetch(curs) импорт все строки данных из выполняемого SQL-запроса в Data свойство cursor объект. Используйте cursor объект исследовать импортированные данные и его структуру.

Внимание:

Отъезд cursor и connection открытые объекты или перезаписывающий открытые объекты могут привести к неожиданному поведению. После того, как вы закончите работать с этими объектами, необходимо закрыть их использование close.

curs = fetch(curs,rowlimit) импортирует максимальное количество строк данных, как задано в rowlimit, от выполняемого SQL-запроса.

curs = fetch(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущих синтаксисах. Например, curs = fetch(curs,'AbsolutePosition',5); данные об импорте с помощью абсолютного смещения положения в курсоре с возможностью прокрутки, тогда как curs = fetch(curs,'RelativePosition',10); данные об импорте с помощью относительного положения возмещены.

Примеры

свернуть все

Импортируйте данные о продукте от базы данных Microsoft® SQL Server® в MATLAB® при помощи cursor объект. Затем определите самую высокую себестоимость единицы продукции среди продуктов в таблице.

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

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

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

conn.Message
ans =

     []

Выполните SQL-запрос с помощью exec функционируйте и соединение с базой данных. Затем импортируйте все данные от productTable.

sqlquery = 'SELECT * FROM productTable';
curs = exec(conn,sqlquery);
curs = fetch(curs)
curs = 

  cursor with properties:

         Data: [15×5 table]
     RowLimit: 0
     SQLQuery: 'SELECT * FROM productTable'
      Message: []
         Type: 'ODBCCursor Object'
    Statement: [1×1 database.internal.ODBCStatementHandle]

Для связи ODBC, Type свойство содержит ODBCCursor Object. Для связей JDBC это свойство содержит Database Cursor Object.

Отобразите данные в cursor свойство объекта Data.

curs.Data
ans =

  15×5 table

    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

     9               1.2597e+05     1003              13          'Victorian Doll'  
     8               2.1257e+05     1001               5          'Train Set'       
     7               3.8912e+05     1007              16          'Engine Kit'      
     2               4.0031e+05     1002               9          'Painting Set'    
     4               4.0034e+05     1008              21          'Space Cruiser'   
     1               4.0035e+05     1001              14          'Building Blocks' 
     5               4.0046e+05     1005               3          'Tin Soldier'     
     6               4.0088e+05     1004               8          'Sail Boat'       
     3                 4.01e+05     1009              17          'Slinky'          
    10               8.8865e+05     1006              24          'Teddy Bear'      
    11               4.0814e+05     1004              11          'Convertible'     
    12               2.1046e+05     1010              22          'Hugsy'           
    13               4.7082e+05     1012              17          'Pancakes'        
    14                5.101e+05     1011              19          'Shawl'           
    15               8.9975e+05     1011              20          'Snacks' 

Определите самую высокую себестоимость единицы продукции в таблице.

data = curs.Data;
max(data.unitCost)
ans =

    24

После того, как вы закончили работать с cursor объект, закройте его. Закройте соединение с базой данных.

close(curs)
close(conn)

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

свернуть все

Курсор базы данных в виде cursor объект создал использование exec функция.

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

Если rowlimit 0, fetch возвращает все строки данных.

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

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

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

Пример: curs = fetch(curs,'RelativePosition',10);

Абсолютное смещение положения в виде разделенной запятой пары, состоящей из 'AbsolutePosition' и числовой скаляр, который указывает на абсолютное значение смещения положения. Когда вы задаете абсолютное значение смещения положения, fetch данные об импорте, начинающие с позиции курсора, равняются этому значению, независимо от текущей позиции курсора. Скаляр может быть положительным числом, чтобы показать выбирающие данные из запуска набора данных или отрицательное число, чтобы показать выбирающие данные из конца набора данных. Этот аргумент пары "имя-значение" доступен только, когда вы создаете cursor с возможностью прокрутки объект с помощью exec.

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

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

Относительное смещение положения в виде разделенной запятой пары, состоящей из 'RelativePosition' и числовой скаляр, который указывает на относительное значение смещения положения. Когда вы задаете относительное значение смещения положения, fetch добавляет текущее значение позиции курсора к относительному значению смещения положения. Затем fetch данные об импорте, начинающие с получившегося значения. Скаляр может быть положительным числом, чтобы показать импортирующие данные после текущей позиции курсора в наборе данных или отрицательного числа, чтобы показать импортирующие данные перед текущей позицией курсора в наборе данных. Этот аргумент пары "имя-значение" доступен только, когда вы создаете cursor с возможностью прокрутки объект с помощью exec.

Пример: 'RelativePosition',10

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

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

свернуть все

Курсор базы данных, возвращенный как cursor объект заполняется с импортированными данными в Data свойство. Можно задать формат выходных данных в Data свойство при помощи setdbprefs функция.

Советы

  • Если у вас есть нативная связь ODBC, что вы установили использование database, затем выполнение fetch на cursor обновления объекта вход cursor возразите себе. В зависимости от того, обеспечиваете ли вы выходной аргумент, тот же объект копируется в выход. Поэтому только один cursor объект существует в памяти для любого из этих использований:

    % First use
    curs = fetch(curs)
    % Second use
    fetch(curs)
    % Third use
    curs2 = fetch(curs)

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

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

Не рекомендуемый запуск в R2018b

Смотрите также

| | | | |

Внешние веб-сайты

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