У меня есть пакет служб SSIS, который я разрабатываю. Я пытаюсь записать данные из SQL Server 2005 в MS Access 2007.
Я довольно озадачен тем, как преобразовать поле SQL char (1) в поле доступа Да / Нет.
Исходя из собранной мной информации, SQL-эквивалент поля Access Yes / No будет битовым полем со значениями 0 или 1.
Мое поле SQL char (1) (которое является моим исходным полем), содержит "N" или "Y". У меня нет возможности использовать битовое поле, отсюда и моя дилемма. Я пробовал приводить к логическим и целым числам и не имел успеха.
В моей задаче потока данных я пытался создавать регулярные выражения безрезультатно, а производные столбцы, преобразования данных и т. Д. Безрезультатно. Я застрял.
Я видел несколько примеров построения условных операторов, которые перебирают коллекции .Row. Это кажется немного за борт, чтобы написать условия для проверки NULL или строковых значений.
В ссылке MSDN Свойства задачи преобразования данных, эквивалентной службам DTS ... он имеет некоторый код, похожий на этот:
If DTSSource("Col010") = "Y" Then
DTSDestination("X") = -1
Else
DTSDestination("X") = 0
End If
Должен ли я иметь возможность манипулировать значениями строк напрямую, через код? Так как исходное поле имеет тип Да / Нет, оно принимает целочисленные значения? отрицательные значения? Да, на самом деле это «-1» в доступе MS, и я думаю, это меня смущает.
Кажется, регулярное выражение решило бы эту проблему, но я не уверен, как это использовать.
Есть что-то, что я пропускаю? Должен быть способ конвертировать "CHAR" в "YES / NO".
** Я знаю, что здесь легко указать, что хороший SQL DTS 2000 года мог бы справиться с этим без каких-либо проблем, по умолчанию, прямо из коробки, установленной обезьяной. Я провожу WAAAAY слишком много времени на очень маленькие причуды SSIS, такие как проблема «Да / Нет».
Я не могу найти какую-либо документацию по полям SSIS и MS Access Да / Нет. MSDN также не позволит мне задать вопрос. Я знаю, бедный я :(
Кто-нибудь когда-нибудь сталкивался с этой причудой с SSIS и MS Access?