2013-12-05 2 views
10

Это то, что я пытаюсь сделать в задаче сценария:параметры чтения проекта в Script Task

long lngMaxRowsToPull = Convert.ToInt64(Dts.Variables["Project::MaxRowsPerPull"].Value); 

Я получаю сообщение об ошибке, что переменная не существует.

Пока что он определен как ReadOnlyVariable для скрипта, и он существует как параметр проекта.

Its defined as a ReadOnlyVariable to the script

And it does exist as a project parameter

ответ

14

Так близко. ;)

Ваш код пытается получить доступ к переменной/параметр с именем Project::MaxRowsPerPull

В самом деле, $ значителен, так что вы должны ссылаться $Project::MaxRowsPerPull

Также обратите внимание, что у вас есть тип данных для параметра как Int32, но затем вставляют его в Int64. Вы всегда можете помещать меньший тип в более крупный контейнер, но если вы попытаетесь заполнить параметр слишком большим значением, ваш пакет будет asplode.

+0

спасибо, глядя на него и не видя его! Я заметил это несоответствие типа, когда писал этот пост и исправил его.)) – Metaphor

-1

long lngMaxRowsToPull = Convert.ToInt64 (Dts.Variables ["$ Project :: MaxRowsPerPull"]. Значение);

+0

Это поможет, если вы добавите какой-нибудь описательный текст, объясняющий, как насчет вашего кода решает проблему и почему. Благодаря! – cb4

Смежные вопросы