Строим местный куб
Мне нужно создать локальный файл.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 ответ
Решение
Свойство 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 & """;"