2009-04-29 6 views
1

Je dois créer un fichier .cub local pour mes clients utilisant Excel.Construction d'un cube local

Je grappillé ensemble un code VB, mais il échoue.

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 

J'ai coupé cela à code ci-dessus et je reçois un OLE DB error: OLE DB or ODBC error. mystérieux "lorsque je tente de l'exécuter

Tous aider au-dessus ou des suggestions sur une autre façon d'aborder cela me apprécié

Répondre

2

Votre propriété DSN chaîne de connexion semble erroné.

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

Notez les guillemets.

Je recommande un petit changement de code pour le rendre plus intuitif et fail-safe:

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

je reçois encore l'étrange "erreur OLE DB: OLE DB ou ODBC." - le DSN fonctionne et peut être utilisé à partir d'autres outils. Pas vraiment sûr de ce que l'erreur pourrait être. Merci pour la syntaxe plus propre, elle le rend plus lisible. – LenW

+0

Hm ... Est-ce que ça ne dit rien d'autre? Lorsque vous cherchez dans Google, ces erreurs semblent souvent accompagnées d'une description. Est-ce une exception? Peut-être que la trace de la pile vous en dit plus? – Tomalak

+0

L'erreur est vraiment obscure et ne donne pas beaucoup sur ce qui se passe - par exemple. code d'erreur est -2147467259? Avez-vous des références qui pourraient m'aider? – LenW