cursor

(Не рекомендуемый) курсор Базы данных

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

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

Описание

После соединения с реляционной базой данных с помощью или ODBC или драйверов JDBC, можно выполнить действия с помощью соединения с базой данных. Чтобы импортировать данные в MATLAB® от базы данных и выполнить операции базы данных, необходимо создать cursor объект. Database Toolbox™ использует этот объект получить строки из таблиц базы данных и выполнить SQL-операторы.

Существует два типа курсоров базы данных, основных и с возможностью прокрутки. Основные курсоры позволяют вам импортировать данные в SQL-запросе последовательным способом. Однако курсоры с возможностью прокрутки включают импорт данных из заданного смещения в наборе данных.

Импортировать данные быстро с помощью SQL SELECT оператор, используйте select функция. Чтобы импортировать данные с полной функциональностью, используйте exec и fetch функции. Для различий смотрите, что Импорт Данных Использует Приложение Database Explorer или Командную строку.

cursor объект остается открытым, пока вы не закрываете его с помощью close функция.

Создание

Создайте cursor объект с помощью exec функция.

Свойства

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

ODBC и свойства драйвера JDBC

SQL-запрос заканчивается в виде массива ячеек, таблицы, структуры, числового массива, или набора данных. После выполнения exec функция, это свойство является пробелом. fetch функция заполняет это свойство с импортированными данными от выполняемого SQL-запроса.

Чтобы установить данные возвращают формат, используют setdbprefs функция.

Примечание

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

Пример: [15×5 table]

Типы данных: double | struct | table | cell

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

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

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

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

SQL-запрос в виде вектора символов. Чтобы изменить SQL-запрос, создайте cursor возразите и задайте SQL-запрос во входном параметре sqlquery из exec функция.

Для получения информации о языке SQL-запроса см. Пример по SQL.

Пример: 'SELECT * FROM productTable'

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

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

Сообщение об ошибке в виде вектора символов. Пустой символьный вектор указывает что exec или fetch функции выполняются успешно. Если это свойство пусто после выполнения exec, затем SQL-оператор, выполняемый успешно. Если это свойство пусто после выполнения fetch, затем импорт данных, завершенный успешно. В противном случае свойство заполняет с возвращенным сообщением об ошибке.

Чтобы выдать сообщения об ошибке к Командному окну, используйте setdbprefs функция. Введите этот код:

setdbprefs('ErrorHandling','report');
sqlquery = 'SELECT * FROM invalidtablename';
curs = exec(conn,sqlquery)

Сохранить сообщения об ошибке в Message свойство вместо этого, введите этот код:

setdbprefs('ErrorHandling','store');
sqlquery = 'SELECT * FROM invalidtablename';
curs = exec(conn,sqlquery)

Пример: 'Table 'schame.InvalidTableName' doesn't exist'

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

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

Тип курсора базы данных в виде одного из этих значений.

ЗначениеТип курсора базы данных

'ODBCCursor Object'

cursor объект создал использование соединения с базой данных ODBC

'Database Cursor Object'

cursor объект создал использование соединения с базой данных JDBC

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

Оператор в виде объекта оператора C или объекта оператора Java.

Пример: [1×1 com.mysql.jdbc.StatementImpl]

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

Курсор с возможностью прокрутки в виде логического значения. Значение 0 идентифицирует cursor возразите как основные. Значение 1 идентифицирует cursor возразите как с возможностью прокрутки.

Примечание

Это свойство скрыто.

Типы данных: логический

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

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

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

Свойства драйвера JDBC

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

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

Пример: [1×1 database.jdbc.connection]

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

Набор результатов в виде объекта набора результатов Java.

Пример: [1×1 com.mysql.jdbc.JDBC4ResultSet]

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

Курсор базы данных в виде внутреннего объекта Java, который представляет cursor объект.

Пример: [1×1 com.mathworks.toolbox.database.sqlExec]

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

Импортированные данные в виде внутреннего объекта Java, который представляет импортированные данные.

Пример: [1×1 com.mathworks.toolbox.database.fetchTheData]

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

attr(Чтобы быть удаленным), Получают атрибуты столбцов в выбранном наборе данных
close(Не рекомендуемый), закрывают курсор
cols(Чтобы быть удаленным), Получают количество столбцов в выбранном наборе данных
columnnames(Чтобы быть удаленным), Получают имена столбцов в выбранном наборе данных
fetch(Не рекомендуемый), Импортируют данные в рабочее пространство MATLAB от курсора базы данных
fetchmulti(Чтобы быть удаленным), Импортируют данные от нескольких наборов результатов
get(Чтобы быть удаленным), Получают свойства объектов
isopen(Не рекомендуемый), Определяют, открыт ли курсор базы данных
querytimeout(Чтобы быть удаленным), Задали время для SQL-запросов, чтобы успешно выполниться
rows(Чтобы быть удаленным), Возвращают количество строк в выбранном наборе данных
set(Чтобы быть удаленным) свойства Набора для курсора базы данных
width(Чтобы быть удаленным), Возвращают размер поля столбца в выбранном наборе данных

Примеры

свернуть все

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

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

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

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

conn.Message
ans =

     []

Выберите все данные из таблицы productTable использование connection объект. Присвойте SQL SELECT оператор к переменной sqlquery. cursor объект содержит выполняемый SQL-запрос.

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

   cursor with properties:

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

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

Импортируйте данные из таблицы в MATLAB.

curs = fetch(curs);
data = curs.Data;

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

max(data.unitCost)
ans =

    24

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

close(curs)
close(conn)

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

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

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

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

| | |

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