13

わかりました、私はウェブ、BOL、さまざまなフォーラムを精査しましたが、答えには近づいていません...うまくいけば、あなたの素晴らしい人々が手を貸してくれるでしょう...

ネットワーク上には十数台の SQL Server (約 2k、約 2005) があります。.NET アプリケーションで SMO オブジェクトを使用して、標準的な情報を取得しています。私の問題は、不足している DLL (Microsoft.SqlServer.BatchParser.dll) に要約されるようです。ただし、この DLL は他の SQL DLL (Microsoft.SqlServer.ConnectionInfo.dll、Microsoft.SqlServer.Smo.dll、Microsoft.SqlServer.SmoEnum.dll、Microsoft.SqlServer.SqlEnum.dll など) には付属していません。 . また、Microsoft のサイトから SMO オブジェクトを含む SS2005 機能パックをダウンロードしましたが、うまくいきません。

現在コメントされている行のコメントを解除しない限り、次のコードは機能します。その場合、以下のエラーが発生します。

protected void btnArchive_Click(object sender, EventArgs e)
{
    ServerConnection conn = new ServerConnection("my_server");

    conn.LoginSecure = false;
    conn.Login = "my_login";
    conn.Password = "my_password";

    Server s = new Server(conn);
    Database d = s.Databases["my_database"];
    //Table tbl = d.Tables["my_table"];

    Response.Write(s.Name + " " + s.Information.RootDirectory + " " + d.CreateDate.ToShortDateString());
    conn.Disconnect();
}

エラー: ファイルまたはアセンブリ 'Microsoft.SqlServer.BatchParser, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

注、VB.NETを使用してSSISからこれも試しましたが、同じ動作です。

任意の考えをいただければ幸いです。

ありがとう。

4

6 に答える 6

10

10.* バージョンのアセンブリ "Microsoft.SqlServer.ConnectionInfo"、"Microsoft.SqlServer.Management.Sdk.Sfc"、および "Microsoft.SqlServer.Smo" を使用して、コードを正常に実行できました。SMO コンポーネントの 2008 バージョンをダウンロードしてみてください。バグが修正された可能性があります。

于 2009-02-15T18:58:53.293 に答える
6

ボックスで x64 OS を実行していますか? 64 ビット環境では BatchParser.dll に問題があるようです。通常は、Microsoft からSMO x64 パッケージ(SQLServer2005_XMO_x64.msi) をダウンロードすることをお勧めします。

これに関する情報はこちらを参照してください。

于 2009-02-12T06:41:42.943 に答える
3

問題を解決するには、次のパッケージをインストールする必要があります。私はこのパッケージでこの問題を 2 回解決しました。

Microsoft SQL Server 2005 管理オブジェクト コレクション 管理オブジェクト コレクション パッケージには、分析管理オブジェクト (AMO)、レプリケーション管理オブジェクト (RMO)、SQL Server 管理オブジェクト (SMO) など、SQL Server 2005 管理 API のいくつかの重要な要素が含まれています。開発者と DBA は、これらのコンポーネントを使用して、SQL Server 2005 をプログラムで管理できます。

Microsoft SQL Server 2005 の Feature Pack - 2008 年 12 月 Microsoft サイトから入手できます。

http://www.microsoft.com/en-us/download/details.aspx?id=11988

ただし、ダウンロード ページのリンクの場所は毎回変わります。リソースが見つからない場合は、私のブログからもダウンロードできます。

必要に応じて、ブログでこれに関するいくつかのヒントとリソースも提供していますhttp://rndp-android.blogspot.com/p/missing-microsoftsqlservermanagementsdk.html

于 2012-12-21T05:42:16.137 に答える
0

これは、2005 または 2008 のアップグレード アドバイザの一部として提供されます。

于 2010-06-24T10:54:12.800 に答える