2009-04-29 10 views
1

Excelを使用するクライアント用のローカル.cubファイルを作成する必要があります。ローカルキューブの作成

私は一緒にいくつかのVBコードをscroungedしているが、それは失敗します。

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.を取得しています

どれを

答えて

2

接続文字列DSNプロパティが間違っているようです:

このような場合には、 0
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 & """;" 
+0

私はまだおかしくなるので、「OLE DBエラー:OLE DBまたはODBCエラー」 - DSNは機能しており、他のツールから使用可能です。どのようなエラーが発生するのかは分かりません。 きれいな構文のおかげで、読みやすくなりました。 – LenW

+0

うーん...もう何も言わないの? Googleで探しているとき、これらのエラーにはしばしば説明が追加されているようです。それは例外ですか?多分、スタックトレースがあなたにもっと教えてくれるでしょうか? – Tomalak

+0

エラーは本当にあいまいで、何が起こっているかについてはあまり気にしません。エラーコードは-2147467259ですか?私に役立つ参考資料はありますか? – LenW