1

Microsoft.SqlServer.Dts.Runtime で API を介してパッケージを実行する際に問題があります。2 つのクラスターでパッケージを潜在的に実行できる 4 つの SQL サーバーがあります。各クラスターのパッシブ ノードで、実行が失敗します。報告されたエラーは、SSIS 評価期間が終了したことです。アクティブなノードでは、正常に動作します。SSIS自体が元々アクティブノードにインストールされていなかったということは、クラスターとは関係ないと思います。後でインストールしました。金曜日に、パッシブ ノードで SSIS をアンインストールして再インストールし、正しいインストール メディアを使用していることを確認しましたが、何も変わっていません。フェイルオーバーと再実行も試みましたが、結果は同じでした (現在アクティブなノードで失敗しました)。興味深いことに、問題のノードでパッケージ実行ユーティリティを使用して SSMS からパッケージを実行できます。しかし、.net API から呼び出しても機能しません。何か案は?何も見つかりません!以下の API 呼び出しのコード...

ありがとう!

ベン

Package pck;

DTSExecResult execResult;

Application app = new Application();

//Load package from SQL Server

pck = app.LoadFromSqlServer(jobParams.SSISPackagePath, jobParams.ServerName, null, null, null);

//Assign values to the package variables

pck.Variables["FlatFileInputPath"].Value = destinationFilePath;




//Execute the package

logger.WriteInfo("Started executing SSIS package...");

execResult = pck.Execute(null, null, new SSISEventsSink(logger), null, null);
4

3 に答える 3

1

ビンゴ; SSIS は、レジストリ キーを確認することで、それがどのエディションであるかを示します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90

サーバー強化プロセスにより、ユーザー グループがこのキーへの読み取りアクセス権を持つ継承されたアクセス許可が削除されました。このキーを読み取ることができなかったというエラーを出す代わりに、評価版であると判断し、インストールから 180 日が経過していたため、有効期限が切れていました。

特定のアカウントへの権限を復元すると、問題が修正されました。

于 2009-02-12T14:17:12.523 に答える
1

デフォルトで使用している DTEXEC のバージョンを確認します (start-run: cmd、dtexec)。少し前に、サーバーの 1 つに ServicePack をインストールしたときにエラーが発生しました。次に、いくつかのバージョンの dtexec.exe をインストールしました。1 つは cmd.exe から実行するときのデフォルトで、もう 1 つは API から実行するときのデフォルトです。サーバーを検索すると、何種類の「dtexec.exe」ファイルが見つかりますか?

于 2009-02-09T14:58:52.690 に答える
0

ローカル管理者としてプロセスを実行すると、これは正常に実行されます!

そのため、ローカル管理者として実行すると、「評価期間が終了しました」というメッセージが表示されません-奇妙なことです。

于 2009-02-11T16:45:44.313 に答える