Поделиться через


Функции API основного уровня (драйвер ODBC для Oracle)

Внимание

Эта функция будет удалена в будущей версии Windows. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте драйвер ODBC, предоставляемый Oracle.

Функции на этом уровне составляют минимальный уровень соответствия интерфейса драйверам ODBC.

Функция API Примечания.
SQLAllocConnect Выделяет память для дескриптора подключения hdbc в среде, определяемой henv. Диспетчер драйверов обрабатывает этот вызов и вызывает функцию SQLAllocConnect драйвера при вызове SQLConnect, SQLBrowseConnect или SQLDriverConnect.
SQLAllocEnv Отображает диалоговое окно, указывающее требование для клиентского программного обеспечения Oracle, а затем возвращает SQL_NULL_HANDLE. Если клиентское программное обеспечение Oracle не установлено, эта функция выделяет память для дескриптора среды, henv и инициализирует интерфейс уровня вызова ODBC для использования приложением.
SQLAllocStmt Выделяет память для дескриптора инструкции и связывает дескриптор инструкции с подключением, указанным hdbc. Диспетчер драйверов передает этот вызов драйверу, который выделяет память для структуры hstmt.
SQLBindCol Назначает место хранения для столбца результатов и задает тип результата.
SQLCancel Отменяет обработку в дескрипторе инструкции hstmt. В некоторых случаях Oracle не разрешает отмену выполняемой инструкции. Это означает, что запущенная инструкция будет продолжаться, пока Oracle не завершит процесс, в то время как результаты из инструкций отменяются драйвером ODBC для Oracle.
SQLColAttributes Возвращает сведения о дескрипторе для столбца в результирующем наборе. Сведения дескриптора возвращаются как символьная строка, 32-разрядное дескрипторное значение или целочисленное значение.
SQLConnect Подключается к источнику данных. Чтобы использовать проверку подлинности операционной системы Oracle, укажите значение "/" в качестве параметра szUID и "" в качестве параметра szAuthStr .
SQLDescribeCol Возвращает имя, тип, точность, масштабирование и допустимость значений NULL заданного столбца результатов. Примечание. SqlDescribeCol сообщает вычисляемые столбцы как SQL_VARCHAR.
SQLDisconnect Закрывает соединение. Если пул подключений включен для общей среды, а приложение вызывает SQLDisconnect для подключения в этой среде, подключение возвращается в пул соединений и по-прежнему доступно другим компонентам с использованием той же общей среды.
SQLError Возвращает сведения об ошибке или состоянии последней ошибки. Драйвер поддерживает стек или список ошибок, которые можно вернуть для аргументов hstmt, hdbc и henv в зависимости от того, как выполняется вызов SQLError. Очередь ошибок очищается после каждой инструкции. Обычно извлекает сообщение об ошибке Oracle и в противном случае пуст.
SQLExecDirect Выполняет новую нерекомендированную инструкцию SQL. Драйвер использует текущие значения переменных маркера параметра, если в инструкции существуют какие-либо параметры. Если в таблице, представлении или имена полей содержатся пробелы, заключите их в кавычки. Например, если база данных содержит таблицу с именем "Моя таблица " и поле "Мое поле", заключите каждый элемент идентификатора следующим образом:

ВЫБЕРИТЕ "Моя таблица". "Мое поле1", 'Моя таблица'.'My Field2' FROM 'My Table' (Моя таблица)
SQLExecute Выполняет подготовленную инструкцию SQL (инструкция, уже подготовленная SQLPrepare). Драйвер использует текущие значения переменных маркера параметра, если в инструкции существуют какие-либо параметры.
SQLFetch Извлекает одну строку из результирующий набор в расположения, указанные предыдущими вызовами SQLBindCol. Подготавливает драйвер для вызова SQLGetData для несвязанных столбцов.
SQLFreeConnect Освобождает дескриптор подключения и освобождает всю память, выделенную для дескриптора.
SQLFreeEnv Закрывает драйвер ODBC для Oracle и освобождает всю память, связанную с драйвером.
SQLFreeStmt Останавливает обработку, связанную с определенным hstmt, закрывает все открытые курсоры, связанные с hstmt, отменяет ожидающие результаты и при необходимости освобождает все ресурсы, связанные с дескриптором инструкции.
SQLGetCursorName Возвращает имя курсора, связанного с заданным hstmt.
SQLNumResultCols Возвращает количество столбцов в курсоре результирующего набора.
SQLPrepare Подготавливает инструкцию SQL, планируя оптимизацию и выполнение инструкции. Инструкция SQL компилируется для выполнения SQLExecDirect.

Если в таблице, представлении или имена полей содержатся пробелы, заключите их в кавычки. Например, если база данных содержит таблицу с именем "Моя таблица " и поле "Мое поле", заключите каждый элемент идентификатора следующим образом:

SELECT 'My Table''My Field' FROM 'My Table' (Моя таблица)

Сведения об использовании результирующих наборов, содержащих массивы в качестве формальных параметров, см. в разделе "Возвращающие параметры массива" из хранимых процедур.
SQLRowCount Oracle не предоставляет способ определения количества строк в результирующем наборе до момента получения последней строки, поэтому возвращает значение -1.
SQLSetCursorName Связывает имя курсора с активным дескриптором инструкции hstmt.
SQLSetParam Заменен SQLBindParameter в ODBC 2.x.
SQLTransact Запрашивает операцию фиксации или отката для всех активных операций со всеми дескрипторами инструкций (hstmts), связанными с подключением, или для всех подключений, связанных с дескриптором среды, henv. Если фиксация завершается ошибкой в ручном режиме, транзакция остается активной; Можно выбрать откат транзакции или повторить операцию фиксации. Если операция фиксации завершается ошибкой при использовании автоматического режима транзакций, транзакция выполняется автоматически; Транзакция не может быть неактивной.