【问题标题】:Building a local cube构建本地立方体
【发布时间】:2009-04-29 08:10:02
【问题描述】:

我需要为使用 Excel 的客户端构建一个本地 .cub 文件。

我已经收集了一些 VB 代码,但它失败了:

ConnLocation = "LOCATION=C:\test.cub;"
ConnDSN = "SOURCE_DSN=DSN=TEST;UID=test;PWD=pass;"
ConnCreateCube = _
"CREATECUBE=CREATE CUBE [TestCube] (" & _
"DIMENSION [account_code]);"
Connection = CreateObject("ADODB.Connection")
Connection.Provider = "msolap"
Connection.ConnectionString = _
    ConnLocation & _
   ConnDSN & _
ConnCreateCube

我已将其精简为上面的代码,并在尝试运行它时得到一个神秘的OLE DB error: OLE DB or ODBC error."。

任何关于上述内容的帮助或关于解决此问题的不同方法的建议,我将不胜感激。

【问题讨论】:

    标签: c# vb.net excel olap cube


    【解决方案1】:

    您的连接字符串 DSN 属性似乎有误:

    ConnDSN = "SOURCE_DSN=""DSN=TEST;UID=test;PWD=pass;"""
    

    注意引号。

    我建议对代码进行一些小改动,以使其更直观且更安全:

    ConnLoc = "C:\test.cub"
    ConnDSN = "DSN=TEST;UID=test;PWD=pass"
    ConnSQL = "CREATE CUBE [TestCube] (DIMENSION [account_code])"
    
    Connection = CreateObject("ADODB.Connection")
    Connection.Provider = "msolap"
    Connection.ConnectionString = "LOCATION=""" & ConnLoc & """;" & _
                                  "SOURCE_DSN=""" & ConnDSN & """;" & _
                                  "CREATECUBE=""" & ConnSQL & """;"
    

    【讨论】:

    • 我仍然收到奇怪的“OLE DB 错误:OLE DB 或 ODBC 错误”。 - DSN 正在运行并且可以从其他工具中使用。不太确定可能是什么错误。感谢更简洁的语法,它确实使它更具可读性。
    • 嗯...它没有说别的吗?在 Google 中查找时,这些错误似乎通常带有附加说明。是例外吗?也许堆栈跟踪会告诉您更多信息?
    • 这个错误真的很模糊,并没有透露太多正在发生的事情 - 例如。错误代码是 -2147467259 ?你有什么参考资料可以帮助我吗?
    • -2147467259 是 0x80004005,这听起来有点像“拒绝访问”。
    猜你喜欢
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 2019-12-04
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    相关资源
    最近更新 更多