powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS: новый провайдер (MSOLEDBSQL) и параметры
15 сообщений из 15, страница 1 из 1
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098431
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перетаскиваю пакеты на новый сервер. Там уже нет старых провайдеров и не хотелось бы их ставить (deprecated).
Пробема со связкой Foreach ADO Enumerator (в цикле) и использованием параметров в OLEDB Source внутри цикла.

Код: sql
1.
An ole db record is available. Source: "Microsoft OLE DB provider for SQLserver" Hresult: 0x80004005...



Не хотелось бы переписывать все с нуля и пихать весь запрос в переменную.
Кто-нибудь сталкивался с подобным? Или какие-нибудь идеи?

Заранее спасибо за мысли и советы.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098442
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111,

наверное не совсем по существу но у нас при миграции в ажур на большинство проблем отвечали
что собственно сам SSIS концептуально depreciated вместо его переделывания,
просто процесс переписывался на современных технологиях ( ADF вперемешку с Python через функции или DataBricks )
и работа для IT есть, и проблем на порядок меньше (в т.ч. и с обслуживанием/логированием/debug) а гибкости больше.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098447
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111,

у разных провайдеров параметризация может отличаться. Не понятно - в чем проблема-то?
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098468
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv
и проблем на порядок меньше (в т.ч. и с обслуживанием/логированием/debug)
Проблем наверняка будет больше, т.е. переделывать, что бы продолжало работать, как работало, нужно будет не раз в несколько лет, а как непрерывный процесс.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098493
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

ну если что-то простое то и в MS-DOS наверное можно, хоть ещё десяток лет.
просто сложность и разнообразие задач растут, а инструментарий SSIS уже давно не соответствует
(там же по существу с 2008-го года практически ничего не поменялось?),
C#-овыми скриптовыми элементами постоянно всё писать и дебажить потом - слишком много на разработку тратится и не настолько гибко,
покупать сторонние сборки всё время и изучать их с малой вероятностью применения на др. проектах - выкинутое время на "образование"
хотя действительно - у кого какие классы задач наверное.
что кому-то кактус на который не стоит лезть то другому ценное плодовое растение от опунции и целого ряда напитков..
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098495
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Idol_111,

у разных провайдеров параметризация может отличаться. Не понятно - в чем проблема-то?

Может я чего-нибудь упустил, но параметризация в SQLNCLI и в MSOLEDBSQL должна быть одинаковой согласно документации :

Код: sql
1.
2.
3.
4.
5.
Connection type 	Parameter marker 	Parameter name 	Example SQL command
ADO 	? 	Param1, Param2, ... 	SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ?
ADO.NET 	@<parameter name> 	@<parameter name> 	SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = @parmContactID
ODBC 	? 	1, 2, 3, ... 	SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ?
EXCEL and OLE DB 	? 	0, 1, 2, 3, ... 	SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ?



Оба OLEDB. Подскажите как надо.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098496
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
vikkiv
и проблем на порядок меньше (в т.ч. и с обслуживанием/логированием/debug)
Проблем наверняка будет больше, т.е. переделывать, что бы продолжало работать, как работало, нужно будет не раз в несколько лет, а как непрерывный процесс.

Согласен.
SSIS покрывает 98% потребностей и нужды в другом инструментарии я не вижу. Работает годами.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098505
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, что MSOLEDBSQL не работает с операторами типа DECLARE, CREATE TABLE если используются параметры.
Т.е. объявить переменную, временную таблицу нельзя.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098514
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111
Похоже, что MSOLEDBSQL не работает с операторами типа DECLARE, CREATE TABLE если используются параметры.
Т.е. объявить переменную, временную таблицу нельзя.

Почему вы сделали таколй вывод?
У меня работает, по крайней мере DECLARE точно.
Код: sql
1.
2.
DECLARE @var INT;
SELECT  @var = ? 


Передаю в скрипт значение из переменной без проблем.

P.S. С времеными таблицами были проблемы, приходилось переделывать на табличные переменные.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098515
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111,

для некоторых драйверов параметры можно передать знаком вопроса, для некоторых @0, @1 может еще как-то можно. MS для связи с SQL рекомендует использовать OLEDB for SQL. В некоторых случаях я использовал ODBC, но с параметризацией проблем никогда не было.

Перечитал внимательно, причет тут DECLARE так и не понял. Или Вы процедуры принципиально не используете? Если вы используете SSIS как средство DDL, то, по-моему мнению, оно не предназначено для этого. Прямое назначение SSIS - это выполнение ETL задач.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098566
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008
Idol_111
Похоже, что MSOLEDBSQL не работает с операторами типа DECLARE, CREATE TABLE если используются параметры.
Т.е. объявить переменную, временную таблицу нельзя.

Почему вы сделали таколй вывод?
У меня работает, по крайней мере DECLARE точно.
Код: sql
1.
2.
DECLARE @var INT;
SELECT  @var = ? 


Передаю в скрипт значение из переменной без проблем.

P.S. С времеными таблицами были проблемы, приходилось переделывать на табличные переменные.

Вы это делали внутри цикла?

Я лишь делаю выводы на основе фактов. У меня не работает, но OLEDB source внутри ADO цикла (как описанно выше). Он просто не понимает синтаксис.

А какие пути использовали с табличными переменными?
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098568
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Idol_111,

для некоторых драйверов параметры можно передать знаком вопроса, для некоторых @0, @1 может еще как-то можно. MS для связи с SQL рекомендует использовать OLEDB for SQL. В некоторых случаях я использовал ODBC, но с параметризацией проблем никогда не было.

Перечитал внимательно, причет тут DECLARE так и не понял. Или Вы процедуры принципиально не используете? Если вы используете SSIS как средство DDL, то, по-моему мнению, оно не предназначено для этого. Прямое назначение SSIS - это выполнение ETL задач.

Про параметры и провайдеров было подробно выше.

Стандартная схема: объявляешь временную таблицу, запихиваешь в нее результат из ХП и затем используешь в выборке.
Если Вы можете предложить проще вариант вытаскивания данных из ХП, буду благодарен.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098578
Idol_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008

P.S. С времеными таблицами были проблемы, приходилось переделывать на табличные переменные.

Уточню.
Табличные переменные не работают как и временые таблицы. Думаю, как вообще от этого избавиться.

Может быть проблема в клиенте, которым пакеты правишь? У меня VS2019 с расширением.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098640
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111,

не совсем понимаю ход Ваших мыслей, но результат ХП можно вернуть в набор данных, а затем этот набор обработать средствами SSIS. Если это неприемлемо, то создайте процедуру - обёртку с использованием временной таблицы.
...
Рейтинг: 0 / 0
SSIS: новый провайдер (MSOLEDBSQL) и параметры
    #40098648
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idol_111

Табличные переменные не работают как и временные таблицы. Думаю, как вообще от этого избавиться.

временные таблицы использовал в SSIS никаких проблем не возникало.
про табличные переменные не помню, но не думаю, что должны быть какие-то проблемы
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS: новый провайдер (MSOLEDBSQL) и параметры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]