Строим местный куб - PullRequest
       6

Строим местный куб

1 голос
/ 29 апреля 2009

Мне нужно создать локальный файл .cub для моих клиентов, использующих Excel.

Я собрал некоторый код 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. ", когда пытаюсь его запустить.

Любая помощь по поводу вышеизложенного или предложения по другому способу подойти к этому очень ценились бы.

1 Ответ

2 голосов
/ 29 апреля 2009

Свойство 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 & """;"
...