sp_OAGetProperty (Transact-SQL)
Область применения: SQL Server
Получает значение свойства объекта OLE.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_OAGetProperty objecttoken , propertyname
[ , propertyvalue OUTPUT ]
[ , index...]
Аргументы
objecttoken
Является маркером объекта OLE, созданного ранее с помощью sp_OACreate.
propertyname
Возвращаемое имя свойства объекта OLE.
propertyvalue OUTPUT
Значение возвращаемого свойства. Если значение указано, оно должно быть локальной переменной соответствующего типа данных.
Если свойство возвращает объект OLE, свойство должно быть локальной переменной типа данных int. Маркер объекта хранится в локальной переменной, и этот маркер объекта можно использовать с другими хранимыми процедурами OLE Automation.
Если свойство возвращает одно значение, укажите локальную переменную для свойства, которая возвращает значение свойства в локальной переменной; или не указывайте значение свойства, которое возвращает значение свойства клиенту в виде одного столбца, результирующий набор с одним столбцом.
Если свойство возвращает массив, если задано значение свойства, оно имеет значение NULL.
Если задано значение свойства, но свойство не возвращает значение, возникает ошибка. Если свойство возвращает массив более двух измерений, то возникает ошибка.
index
Индексный параметр. Если задано, индекс должен быть значением соответствующего типа данных.
Некоторые свойства имеют параметры. Эти свойства называются индексированными свойствами, а параметры — индексными параметрами. Свойство может иметь несколько индексных параметров.
Примечание.
Параметры для этой хранимой процедуры задаются по положению, а не по имени.
Значения кода возврата
0 (успешное завершение) или ненулевое число (неуспешное завершение), которое является целочисленным значением типа HRESULT, возвращаемого объектом OLE-автоматизации.
Дополнительные сведения о кодах возврата HRESULT см. в разделе "Коды возврата автоматизации OLE" и сведения об ошибках.
Результирующие наборы
Если свойство возвращает массив с одним или двумя измерениями, то массив возвращается клиенту как результирующий набор.
Одномерный массив возвращается клиенту как результирующий набор, состоящий из одной строки, в которой число столбцов соответствует количеству элементов массива. Иными словами, массив возвращается в виде набора столбцов.
Двумерный массив возвращается клиенту в виде результирующего набора с числом столбцов, равным числу элементов первого измерения массива, и числом строк, равным числу элементов второго измерения массива. Иными словами, массив возвращается в виде (столбцы, строки).
Если возвращаемое значение свойства или возвращаемое значение метода является массивом, sp_OAGetProperty или sp_OAMethod возвращает результирующий набор клиенту. (Выходные параметры метода не могут быть массивами.) Эти процедуры сканируют все значения данных в массиве, чтобы определить соответствующие типы данных и длины данных SQL Server, используемые для каждого столбца в результирующем наборе. Для каждого отдельного столбца эти процедуры используют тип и длину данных, необходимые для представления всех значений данных этого столбца.
Если все значения данных в столбце имеют один и тот же тип данных, этот тип используется для всего столбца. Если значения данных в столбце имеют различные типы данных, тип данных всего столбца определяется по следующей схеме.
INT | с плавающей запятой | money | datetime | varchar | nvarchar | |
---|---|---|---|---|---|---|
int | int | float | money | varchar | varchar | nvarchar |
float | float | float | money | varchar | varchar | nvarchar |
money | money | money | money | varchar | varchar | nvarchar |
datetime | varchar | varchar | varchar | datetime | varchar | nvarchar |
varchar | varchar | varchar | varchar | varchar | varchar | nvarchar |
nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar | nvarchar |
Замечания
Вы также можете использовать sp_OAMethod для получения значения свойства.
Разрешения
Требуется членство в предопределенных ролях сервера sysadmin или разрешение на выполнение непосредственно в этой хранимой процедуре. Ole Automation Procedures
Необходимо включить настройку для использования любой системной процедуры, связанной с автоматизацией OLE.
Примеры
А. Использование локальной переменной
Следующий пример получает HostName
свойство (ранее созданного объекта SQLServer ) и сохраняет его в локальной переменной.
DECLARE @property varchar(255);
EXEC @hr = sp_OAGetProperty @object, 'HostName', @property OUT;
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property;
B. Использование результирующего набора
В следующем примере возвращается HostName
свойство (ранее созданного объекта SQLServer ) и возвращается клиенту в виде результирующий набор.
EXEC @hr = sp_OAGetProperty @object, 'HostName';
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END;
См. также
Хранимые процедуры OLE Automation (Transact-SQL)
Пример скрипта OLE-автоматизации
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру