問題タブ [ssis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - デザインの批評をお願いします
ヨーロッパとアジアにあるさまざまなデータ サーバーからデータを収集したいと考えています。海底ネットワークを詰まらせる単純なデータ クエリ タスクを実行するのではなく、ローカル サイトで使用できる 2 台のマシンを考えています。
次のことができるように、マスター パッケージを設計することを考えています。
- リモート セットアップ タスクを実行する
- psexec dtexec ... を使用してローカルでデータ コレクション パッケージを起動します。
- 複数の生ファイルにローカルに保存されているデータを取得します (データの種類ごとに 1 つ)
- ジッパーを閉めて引き戻した
- 解凍してローカルサーバーに一括アップロード
データは奇妙なクラス ライブラリを介して利用できるため、データ収集はカスタム スクリプト ソースを介して処理されます。
タスクは予期せず失敗する可能性があります。特定の場所で特定の種類のデータが正常にキャプチャされ、他のデータが失敗した場合、それを再度実行したくありません。
可能であれば、この設計を簡素化し、より堅牢にするにはどうすればよいですか?
ssis - SSIS パッケージは Windows アカウントで動作し、sqlserver sa アカウントでは失敗します
いくつかの SSIS 権限の問題があります。
.net コンソール アプリケーションで次のように SSIS パッケージを呼び出しています。
Windowsアカウントを使用して手動で実行すると機能しますが、コンソールアプリケーションで上記の呼び出しで失敗します。
SQLサーバーのsaアカウントで動作するはずではありませんか?
sql - ExecuteSQL タスクでの「グローバル」変数へのアクセス
次のことを行う SSIS パッケージがあります。 サーバーのテーブルから接続文字列を選択します。接続文字列は、サーバーの名前とドメイン (つまり、Dalin.myhouse.com) であるか、サーバーへの直接の IP です。
パッケージは、各接続文字列を反復処理し、定義された「グローバル」変数を設定します。この変数は、変数デザイナーで作成されました。接続文字列ごとに、パッケージはサーバーに関する情報を取得します。
私が抱えている問題は、サーバー IP をリストに追加するときに、「フレンドリ名」がその時点でわからない可能性があるため、サーバー IP を接続文字列列とフレンドリ名列の両方に入れることです。テーブル。反復の終了後、そのテーブル内のサーバー エントリのフレンドリ名列を更新して、SERVERPROPERTY('Servername') を使用してサーバーからサーバー名が取得されるようにします。
これを行うには、次のコードで ExecuteSQL タスクを使用したいと思います。
前のコードは、myServers テーブルが存在するサーバーへの静的接続を使用しています。
VarA は、SERVERPROPERTY('Servername') を使用して別の SQLTask で設定される ServerName に設定するグローバル値を表します。現在の反復が使用しているのと同じサーバーを使用してサーバーに接続する必要があるため、別のタスクにする必要があります。
VarB は、すべての反復の開始時に、リスト内の次の接続文字列に設定されます。
これをスクリプト タスクとスクリプト コンポーネントに使用する方法の例を見てきましたが、単純に ExecuteSQL タスクを使用してこれを達成したいと思います。
概要:
ServerA に接続し、2 つのグローバル変数を入力します。
ServerB に接続し、2 つのグローバル変数を使用してテーブル内の特定の行を更新します。
何か案は?
.net - .aspx ページから SSIS を呼び出す場合、NT AUTH\Network Service アカウントにどのようなアクセス許可を与える必要がありますか?
.aspx ページ (または Windows サービス) から LoadPackage() を使用して SSIS パッケージを呼び出す場合、それが動作するようにアクセス許可を設定するにはどうすればよいですか?
イベント ビューアが SQL サーバー エラーを報告しています:
ユーザー 'NT AUTHORITY\NETWORK SERVICE' のログインに失敗しました。理由: 明示的に指定されたデータベースを開くことができませんでした。[クライアント: 192.168.73.118]
そのアカウントに SQL サーバーへのアクセスを許可するにはどうすればよいですか?
sql-server - SSIS パッケージを変更するためのサードパーティ ソフトウェアはありますか?
私は SSIS でいくつかのデータ変換タスクに取り組んできました。Visual Studio は 2008 年に使いやすさが向上しましたが、気になる点がいくつかあります (たとえば、Package Explorer で何かを削除すると、画面全体が更新されてツリーの一番上に戻ります。また、他の DTSx パッケージ エディターや VS 用のプラグインはありますか。
ssis - OleDbACEを介したExcel2007バイナリ(.xlsb)へのアクセス
Excel 2007のバイナリ形式(拡張子.xlsb)は、読み込みが速く、非常にコンパクトであるため、自分のニーズに完全に適していることがわかりました。大量のデータを含む一連のレポートをExcelで配信していますが、これらのレポートは実際にはISパッケージで読み込まれています。
したがって、この形式への変換を想定しました。アクセスOle DBプロバイダー12のドキュメントを読んでください。ここでは、xlsbがこのプロバイダーでサポートされていると書かれています。Excelでファイルを変換した後、パッケージ内のファイルを変更しようとすると( "b"サフィックスを追加してファイルのパスを変更するだけで)、次のエラーメッセージが表示されました。
さて、ファイルの変換に問題があるのではないかと思ったので、新しいものを選んで情報を入れました。もう一度試してみました、同じエラー!!
次に、「。udl」ファイルを使用してアプローチを試みましたが、同じエラーです。次に、さまざまなマシンでテストを試みました。-自分自身(Windows Vista SP1)-同僚(Windows XP SP2)-ISサーバー(Windows Server 2003 x64 SP2)
そして、エラーは持続します。エラーの再現はとても簡単だったので、グーグルで何も見つからなかったので少し驚いています。
誰かが私を助けることができますか?
よろしくお願いします、ラファエル
sql-server-2005 - SSISでファイル名を動的に検出する方法は?
MS SSIS を使用してフラット ファイルを DB に変換する必要があります。(唯一の)フラットファイルを取得するために特定のフォルダーを調べる方法が必要です。ファイル名は「FileName-CCYYMMDD.txt」の形式です。
フォルダーからファイルを追加する方法がある場合、または「Filename-CCYYMMDD.txt」形式のファイル名を取得する方法がある場合は、助けてください。ここで、CCYYMMDD は現在の日付、または必要に応じて CurrentDate -1 です。
コード例やスクリーンショットは大歓迎です!
sql-server - ftp Delete コマンドで使用できない文字は?
外部サーバーからファイルを ftp し、外部サーバーでそれらを削除していますが、ファイル名にスペースがあったために 1 つのファイルが失敗しました。ファイル名を引用符で囲むように ftp delete コマンドを変更しました。
しかし、ユーザーがファイル名の作成に使用する可能性のある他の文字はありますか? それらのファイル名が何であるかを制御することはできません。
(SSIS パッケージから ftp タスクをオンザフライで作成するため、SSIS と SQL Server のタグを付けます。両方の OS は Win XP です)
c# - SSISパッケージを非同期的に呼び出す
LoadPackage(...)を使用してSSISパッケージを呼び出しています。
この呼び出しを非同期呼び出しにすることは可能ですか?
ssis - SSIS 経由で SFTP または FTPS ファイルを作成する最良の方法
この質問はもともと、SSIS で SFTP または FTPS を介してファイルをアップロードするための最良の方法はどれかを尋ねました。現在は、各ソリューションの長所と短所をリストしているだけです。私は最近、CozyRoc の SFTP ライブラリを個人的に使用していますが、以下の各ソリューションをいずれかの時点で使用しました。
SSIS コンポーネント ライブラリ
方法: CozyRoc、Codeplex、BizCrypto、PragmaticWorks、またはその他のベンダーの SSIS コンポーネント ライブラリを各開発サーバーと運用サーバーにインストールし、SFTP タスクを使用してファイルをアップロードします。
長所: 使いやすい。これは、通常の SSIS タスクのように見え、においがし、感じられます。また、SSIS はパスワードを機密情報として認識し、セキュリティで保護されていない方法でクリア テキストで保存するのではなく、機密情報を保護するための通常のオプションをすべて使用できるようにします。ForEach ループ コンテナーなどの他の SSIS タスクとうまく連携します。アップロードとダウンロードが失敗したときにエラーが発生します。ダウンロードするリモート FTP サイト上のファイルの名前がわからない場合、または実行時までアップロードするファイルの名前がわからない場合に適しています。
短所: Codeplex ソリューションを除いて、これは実稼働環境でのライセンスに費用がかかります。各開発マシンと運用マシンにライブラリをインストールする必要があります。Codeplex ソリューションの場合は、特定のベンダーによってサポートされていないソフトウェアを使用しています。これにより、各バージョン間でライブラリを更新するためにベンダーに依存することにもなります。たとえば、2008 RTM の前に、私は 2008 の CTP バージョンで新しいサーバーを開発していましたが、CozyRoc 2005 ライブラリはそれと互換性がありませんでした。最終的に 2008 互換バージョンがリリースされましたが、一時的にコマンド ライン ソリューションを使用してこの問題を回避する必要がありました。
コマンドライン SFTP プログラム
方法: Putty や WinSCP などの無料のコマンドライン SFTP アプリケーションをインストールし、バッチ ファイルまたはオペレーティング システムのプロセス タスクを実行して実行します。WinSCP を介してこれを行うための手順は、ここにリストされています。
長所:無料、無料、無料。多くの GUI FTP クライアントが隠れて Putty を使用しているように見えるため、Putty を使用している場合は安全であることを確認できます。SSHではなくSSH2を使用していることは間違いなく知っています。
短所: 私が試した 2 つのコマンドライン ユーティリティ (Putty と Cygwin) では、SFTP パスワードを安全でない場所に保存する必要がありました。ファイルをアップロードするときの失敗やエラーをキャプチャする良い方法が見つかりません。このプロセスは、見た目も匂いも SSIS とは異なります。ほとんどのコードは、SSIS 自体ではなく、テキスト ファイルにカプセル化されています。アップロードまたはダウンロードしているファイルの正確な名前がわからない場合、使用するのは困難です。
サードパーティの C# または VB.NET ライブラリ
方法: SFTP または FTPS ライブラリをインストールし、ライブラリを参照するスクリプト タスクを使用してファイルをアップロードします。(私はこれを試したことがないので、長所と短所を推測します)
長所: おそらくエラーを簡単に把握できます。変数でうまく機能するはずなので、アップロードまたはダウンロードしているファイルの正確な名前がわからない場合でも、おそらく使いやすいでしょう。
短所: .NET ライブラリと組み合わせたスクリプト タスクです。SSIS を使用している場合は、おそらく .NET コードよりも SSIS タスクに慣れているでしょう。スクリプト タスクは、通常の .NET プロジェクトと同じデバッグ ツールや機能を備えていないため、トラブルシューティングも困難です。異なるバージョンの SQL Server 間で動作しない可能性があるサード パーティ コードへの依存関係を作成します。公平を期すために、おそらくサード パーティの SSIS タスク ライブラリよりも、異なるバージョンの SQL Server 間で動作する可能性が高くなります。もう 1 つの大きな欠点です。これを行う無料の C# または VB.NET ライブラリはまだ見つかりません。なので、どなたか知ってる方いたら教えてください!