web-dev-qa-db-ja.com

SSISでスクリプトタスクのバージョンを変更する方法

VS2015のSSISプロジェクトにスクリプトタスクを追加しました。 SQL Server 2016に展開したときに、_version 15.0_スクリプトがサポートされていないというエラーメッセージが表示されました。

これはどこに_version 15 come from_ですか? Stack Overflowで他の同様の質問を読むと、プロジェクトのターゲットバージョンをSQL Server 2012に設定できることがわかります(私が行った(最終的な展開ターゲットはSQL Server 2012))。

また、スクリプトタスクを削除して再作成してみました。スクリプトの情報では、C#のV10を使用していると記載されています。

どうすればこれを解決できますか?

Script Task:Error:スクリプトタスクをXMLからロード中に例外が発生しました:System.Exception:スクリプトタスク "" ST_a1ad9dc5972c42b68c12a13155f10b6d ""はバージョン15.0スクリプトを使用しますこのリリースのIntegration Servicesではサポートされていません。パッケージを実行するには、スクリプトタスクを使用して新しいVSTAスクリプトを作成します。ほとんどの場合、%SQL_PRODUCT_SHORT_NAME%Integration ServicesでSQL Server Integration Servicesパッケージを開くと、サポートされているバージョンを使用するようにスクリプトが自動的に変換されます。 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj、IDTSInfoEvents events)で」

SSDT 2012でもプロジェクトを開き、別の名前で再構築しました。同じエラー。削除されていない参照などがあるはずです。

この質問の解決策はありません( https://stackoverflow.com/questions/34893267/ssis-script-task-vs15-not-work-when-deploy-on-sql-server-2014 )働いた。

スクリプトが含まれているパッケージのXMLを見ると、そのタスクを簡単に見つけることができ、バージョン15への参照はどこにもありません。

===========編集

データベースをホストするマシンにプロジェクトをコピーし、VS2015を開いてそこからデプロイすると、パッケージが実行されます。

そして、私のマシンに戻ってそこでビルドするときは、そうではありません。

これはバグですか?または、VSのウィザードを使用するのと同じ展開ウィザードをビルドが生成することを期待して、私は愚かなことをしていますか?.

SQL Server 2016(13.0.4411.0)を使用していますが、ssisdbにはスキーマバージョン(13.0.1601.5)があります。

Visual Studio 2015で作成された統合サービスパッケージを使用しています。スクリプトコンポーネントには次のパスがあります:C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstax統合サービスカタログからパッケージを実行できません(Zachのメッセージが原因です)。 。ただし、SQLシステムを使用して、ファイルシステムから実行できるようです。これが機能しているかどうかは不明ですが、パッケージが完了すると更新されます。

10
Zach Smith

私は同じ問題を抱えていると思いますが、これは私の問題を乗り越えた回避策です。

最初に詳細:

  • SQL Server 2016(13.0.4411.0)を持っています
  • SSISDBにはスキーマバージョンがあります(13.0.1601.5)
  • Visual Studioで作成された統合サービスパッケージを使用しています
  • スクリプトコンポーネント(2015 C#であると記載されています)のパスは次のとおりです:C:\ Program Files(x86)\ Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstax

SSMSを介してカタログに展開した場合、統合サービスカタログを介してパッケージを実行できません(Zachで発生したメッセージ-バージョン15.0はサポートされていません)。

回避策:

Visual Studioを介して必要なインスタンスの「統合サービスカタログ」にパッケージを展開すると、このメッセージが表示されなくなり、プロジェクトは正常に実行されます。 SSMSを介して展開できるはずなので、これは理想的ではありませんが、プロジェクトが進行できることを意味します。

5
Iain Jacob

私のDBAは最終的にこれを理解してくれました。問題は、SSMS 2017を通じて、気付かずに展開していたことです。エラーメッセージは私を混乱させましたが、あなたの回避策は失敗の背後にある理由を導くのに役立ちました。 SSMS 2016を試して、それが機能するかどうかを確認できると思います。私のDBAが提案したもう1つの方法は、コマンドラインを使用することです。これは2016に必要なバージョンであるため、130が強調表示されています。

"C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\ISDeploymentWizard.exe" 
/Silent /ModelType:Project 
/SourcePath:"E:\ssis\Project Path\bin\Development\Project.ispac" 
/DestinationServer:"server01" 
/DestinationPath:"/SSISDB/Projects/Project"

これで問題が解決することを願っています。私はあなたの回避策を見つけ、最後にこの解決策を見つける前に、長い間、それについて取り組んでいました。ほんとありがと!

4
Dave E

他の人と同じように、私は最初にSQL2017配置ウィザードを使用してSQL2014に配置しました。これにより、実行時エラーが発生しました。 SQL2014配置ウィザードを使用すると、すべてが正常に機能しました。

0
Sox