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®authentication. Задайте пустое имя пользователя и пароль. База данных содержит таблицу 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

Для просмотра документации необходимо авторизоваться на сайте