Как установить значение массива с помощью sp_OASetProperty - PullRequest
0 голосов
/ 29 октября 2009

У меня есть хранимая процедура, которая обрабатывает некоторые данные в электронной таблице Excel. Я импортирую данные путем создания объекта QueryTable. Я хотел бы установить свойство TextFileColumnDataTypes для объекта, но не могу понять, как передать массив в процедуру sp_OASetProperty.

Вот так выглядит мой код, но, очевидно, он не работает:

EXECUTE @rc = master..sp_OASetProperty @xlQueryTable, 'TextFileColumnDataTypes', 'Array(xlTextFormat, xlTextFormat, xlGeneralFormat)'

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 29 октября 2009

Откуда берутся значения для xlTextFormat и xlGeneralFormat? Возможно ли, что это должно быть одним из следующих:

DECLARE @command VARCHAR(255);

SET @command = 'Array(' + @xlTextFormat + ', ' + @xlTextFormat + ', ' + @xlGeneralFormat + ')';
-- or
SET @command = 'Array("' + @xlTextFormat + '", "' + @xlTextFormat + '", "' + @xlGeneralFormat + '")';
-- or
SET @command = 'Array("xlTextFormat", "xlTextFormat", "xlGeneralFormat")';

EXEC @rc = master..sp_OASetProperty @xlQueryTable, 'TextFileColumnDataTypes', @command;

В противном случае, возможно, вам следует отказаться от sp_OA и использовать CLR.

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