Ошибка в строке динамического соединения для Excel - PullRequest
1 голос
/ 26 июня 2019

У меня есть подключение к серверу sql (источник) и назначение Excel на моем диске d: /. Я хотел бы передать динамическое имя файла в файл Excel с помощью выражения: В диспетчере соединений:

ExcelFilePath "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @[User::File_Path] + @[User::FileName_Product_Hierarchy_XLS] + ";Extended Properties=\"" + "Excel 8.0;HDR=Yes;IMEX=1;"+ "\""

Компоненты строки соединения не могут содержать точки с запятой без кавычек. Если значение должно содержать точку с запятой, заключите все значение в кавычки. Эта ошибка возникает, когда значения в строке подключения содержат точки с запятой без кавычек, например свойство InitialCatalog.

Имя файла генерируется с помощью задачи SQL и присваивается переменной @[User:: FileName_Product_Hierarchy_XLS]

Я также пытался добавить цитату в конце, но не получилось.

Пакет служб SSIS не передается на SQL Server, каталог служб SSIS отсутствует, это просто режим разработки на обычном компьютере с Windows.

Есть идеи, что мне нужно изменить, чтобы это работало?

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @[User::File_Path] + @[User::FileName_Product_Hierarchy_XLS] + ";Extended Properties=\"" + "Excel 8.0;HDR=Yes;IMEX=1;"+ "\"";"    

Я уже пытался установить кавычки, такие как:

в диспетчере соединений:

ExcelFilePath "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @[User::File_Path] + @[User::FileName_Product_Hierarchy_XLS] + ";Extended Properties=\"" + "Excel 8.0;HDR=Yes;IMEX=1;"+ "\""

В результате файл Excel получает имя файла, указанное в операторе SQL, который в основном изменяет только дату.

Я изменил настройку «DelayValidation на True». По-прежнему получаю сообщение об ошибке

Excel Connection Manager settings

Expressions editor

Evaluation of expression

...