Pregunta

Necesito crear un archivo .cub local para mis clientes que usan Excel.

He juntado algunos códigos de VB pero falla:

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

He recortado esto al código anterior y obtengo un misterioso error OLE DB: error OLE DB o ODBC. " cuando intento ejecutarlo.

Cualquier ayuda sobre lo anterior o sugerencias sobre una forma diferente de abordar esto me agradecerían mucho.

¿Fue útil?

Solución

La propiedad de DSN de la cadena de conexión parece incorrecta:

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

Tenga en cuenta las citas.

Recomendaría un pequeño cambio de código para hacerlo más intuitivo y seguro:

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 & """;"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top