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

最近,我找到了这三个部分的教程,希望对你有所帮助

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

于 2012-01-10T05:07:47.867 回答
0

这次微软支持为我找到了一个可行的解决方案!这很简单——连接字符串的最后一部分应该是这样的:

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

最关键的部分是“ Mode=ReadWrite; UseExistingFile=False ”。

正确创建此修改后的多维数据集。希望这可以帮助。

于 2010-03-23T23:25:53.957 回答