データウェアハウス管理コマンドラインアプリケーション-PowerShellまたはC#コンソールアプリ

StackOverflow https://stackoverflow.com/questions/344561

  •  19-08-2019
  •  | 
  •  

質問

この質問は、Microsoft専用ショップ向けであると言って、序文にします。

データウェアハウスを管理するコンソールアプリを作成する場合、何を使用しますか。
1)PowerShell用のカスタム環境の作成(最新のExchange / SQL Serverのバージョン)
2)C#コンソールアプリとして記述

#2の場合、<!> quot; menu system <!> quot;の記述をオフロードするフレームワークがあります。またはその他のタスク。

このアプリが6〜8年続く必要がある場合-PowerShellを使用しますか? 現在、チームの誰もPowerShellの経験はありませんが、私たちはすぐに学習します。

役に立ちましたか?

解決

管理機能をPowerShellコマンドレットとして記述した場合、ユーザーにコマンドレットを直接実行させるか、GUIでラップすることにより、その機能を明らかにすることができます。 PowerShellを使用すると、おそらく最も長期的な柔軟性が得られ、MSにより多くのPowerShellコマンドレットが実装されるため、必要に応じてデータウェアハウスの管理を他の大規模なビジネスプロセスに組み込むことができます。私はおそらくC#コンソールアプリを書くことを選択しないでしょう-しかし、私は明らかにもっと<!> quot; administrator <!> quot;を持っています。視点。管理者は、カスタムコンソールアプリを放り込むのにうんざりしています。PowerShellのアイデアは、コマンドラインとGUIの両方の管理をサポートする方法ですべてを標準化することです。

他のヒント

あなたは両方で成功することができ、あまり手間をかけずに2つを切り替えることができるはずです。コンソールアプリの作成を始めて、後でPowerShellを学習する場合、コンソールアプリ固有のコード(コマンドライン解析コードなど)を大量に捨てて、既存のAPIをラップするPowerShellコマンドレットをいくつか作成できます。または、ゲートから多数のコマンドレットを作成し、後でコンソールアプリに切り替える必要がある場合は、コマンドレットの作成に多くの時間を費やす必要はありません。

だから、私は本当に何らかの方法で強力なアドバイスはありません。 PowerShellを試してみてください。気に入らなければ、切り替えるのはそれほど難しくありません。

PowerShellは、より小さなものに対してはるかに保守性の高いソリューションであることがわかりました。コンソールアプリでは、新しいライブラリに再リンクし、依存するライブラリが変更された場合(私の場合はVisual Studio 2005-Visual Studio 2008のコードカバレッジなど)、スクリプトがvsinstr、mstestなどを呼び出す実行可能ファイルを再コンパイルして再配布する必要がありますPowerShellスクリプトの場合と同様に、環境ごとに簡単にカスタマイズでき、選択、環境ごとにコンパイル、リンク、デプロイを行う必要はありません。実際、レジストリからパス情報を取得すると、同じスクリプトを両方の環境で実行できます。

どちらでも好きなことを行うことができます。単一の単純なテキストファイルを維持し、次にコンソールアプリを維持する必要があります。ただ個人的な好み。

データウェアハウスの管理と言っている場合、どのようなタスクについて話しているのですか?

T-SQLで行う管理の多く(パージ、アーカイブ、変換)-そのインターフェイスは非常に薄く(存在しない場合もあります)。

OK、あなたのコメントに基づいて、.NETアセンブリ(典型的なAPIクラスライブラリ)を持つストアドプロシージャで、可能な限りストアドプロシージャで、すべての作業を行うコードがありますそこで簡単に実行できる、またはCOMなどを必要とします。その後、コマンドレットでクラスライブラリをラップするか、PowerShellから.NETオブジェクトを呼び出すだけです(PowerShellはオブジェクトをインスタンス化できることに注意してください)。

これで、必要に応じてWebページ、GUIアプリなどから呼び出すことができる.NETライブラリがあり、コマンドレットと直接の.NETインターフェイスがあります。さらに、SQLから呼び出すオプションもあります。 SQL層で完全に実装されている場合。

コソールアプリの代わりにPowerShellを実装する利点は、すべてのパラメーター解析またはすべての書式設定をコーディングする必要がないことです。 PowerShellがすべてを処理します。もちろん、必要に応じてデフォルトをオーバーライドできます。ワイルドカードは無料で入手できます。また、コマンドレットにパイプラインから値を取得させて、あらゆる種類の可能性を開き、自動化に使用することもできます。 PowerShellを使用すると、エンドユーザーと開発者の両方のエクスペリエンスが大幅に向上します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top