Domanda

Devo creare un file .cub locale per i miei client che usano Excel.

Ho messo insieme un po 'di codice VB ma fallisce:

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

Ho ridotto questo al codice sopra e sto ottenendo un misterioso errore OLE DB: errore OLE DB o ODBC. " quando provo a eseguirlo.

Qualsiasi aiuto su quanto sopra o suggerimenti su un modo diverso di affrontarlo mi farebbe molto piacere.

È stato utile?

Soluzione

La proprietà DSN della stringa di connessione sembra errata:

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

Nota le virgolette.

Consiglierei una piccola modifica del codice per renderlo più intuitivo e sicuro:

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 & """;"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top