Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Параметры запроса SSIS для источника ADO .NET

Автор вопроса: Ali_AbadaniОтветов: 3

Я пытаюсь получить данные из таблицы MySQL и вставить в таблицу SQL Server, используя соединения ADO .NET в SQL Server 2008 SSIS. В моей задаче потока данных у меня есть источник ADO .NET, который запрашивает таблицу MySQL (выбирает все счета-фактуры) и пункт назначения ADO .NET, который вставляет данные в мою таблицу SQL Server. Теперь я хотел бы добавить параметр в свой источник данных, чтобы я выбирал только max(invoiceNumber), полученный из моей таблицы SQL Server. Я выполнил аналогичную задачу, используя "Команду OLE DB", но проблема в том, что мне нужно запросить базу данных MySQL. Любые идеи, как я могу этого добиться?

  • Я бы, если бы я получил правильный ответ Ali_Abadani 22.12.2009

sql-serverssis

Ответы

Ответ 1 · Damir Sudarevic

Установите для параметра Режим доступа к данным в ADO.NET Source значение SQL Command и напишите запрос.

Ответ 2 · рейтинг 1 · il_guru

Я обнаружил, что единственный способ использовать параметр с источником данных ADO.NET - это обходной путь: перейдите к управлению потоком и выберите поток действий, содержащий ваш источник ADO.NET. В окне свойств вы можете увидеть исходную команду Sql ADO.NET. Перейти к выражению и выбрать свойства: [ВАШЕ ИМЯ ИСТОЧНИКА].[SqlCommand], а затем отредактировать выражение, используя переменные для имитации параметров.

Ответ 3 · James Wiseman

Вам не нужно добавлять параметр:

select *
from invoices
where invoiceNumber = (select max(invoiceNumber) from invoices)

Вышеупомянутое работает в SQL Server. Я предполагаю, что тот же запрос будет работать в MySQL

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы