0

次のコードを使用して C# からオフライン OLAP キューブを作成する際に問題があります。

using (var connection = new OleDbConnection())
    {
       connection.ConnectionString = "Provider=MSOLAP;  Initial Catalog=[OCWCube];  Data Source=C:\\temp\\test.cub;  CreateCube=CREATE CUBE [OCWCube] (   DIMENSION [NAME],    LEVEL [Wszystkie] TYPE ALL,    LEVEL [NAME],   MEASURE [Liczba   DESCRIPTIO]    FUNCTION COUNT  );  InsertInto=INSERT INTO OCWCube([Liczba   DESCRIPTIO], [NAME].[NAME])  OPTIONS ATTEMPT_ANALYSIS  SELECT Planners.DESCRIPTIO, Planners.NAME  FROM Planners Planners;  Source_DSN=\"CollatingSequence=ASCII;DefaultDir=c:\\temp;Deleted=1;Driver={Microsoft dBase Driver (*.dbf)};DriverId=277;FIL=dBase IV;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=600;SafeTransactions=0;Statistics=0;Threads=3;UserCommitSync=Yes;\";Mode=Write;UseExistingFile=True";
        try
        {
            connection.Open();
        }
        catch (OleDbException e)
        {
            Console.WriteLine(e);
        }
    }

次の例外が引き続き発生します。

「複数ステップの操作でエラーが発生しました。各 OLE データベースのステータス値を確認してください。アクションは実行されませんでした。」

接続文字列は、Excel によって生成された OQY ファイルからそのまま取得しました。「Mode=Write」セクションを追加する必要がありました。そうしないと、別の例外が発生していました (「ファイルが使用中の可能性があります」)。

接続文字列の何が問題になっていますか? エラーを診断する方法は? 誰か私を導いてください...

4

2 に答える 2

2

最近、この 3 部構成のチュートリアルを見つけました。

http://netpl.blogspot.com/2007/11/complete-olap-infrastructure-without.html

于 2012-01-10T05:07:47.867 に答える
0

今回は、Microsoft サポートが有効な解決策を見つけてくれました! これは非常に単純です。接続文字列の最後の部分は次のようになります。

" Source_DSN=dbfodbc32; Mode=ReadWrite; UseExistingFile=False "

最も重要な部分は「Mode=ReadWrite; UseExistingFile=False」です。

この変更後、キューブが適切に作成されました。お役に立てれば。

于 2010-03-23T23:25:53.957 に答える