Невозможно использовать Excel в качестве базы данных в Automation Anywhere 10 - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь использовать Excel в качестве базы данных в Automation Anywhere 10. Ниже приведен мой код

Connect to "Provider=Microsoft.ACE.OLEDB.16.0",Data Source = C:\Users\myuser\Documents\demo.xlsx;Extended Properties="Excel 10.0 Xml;HDR=YES";"Session:"session1"
Execute SQL statement:'Select * from [Sheet1]$'

Но отображается следующая ошибка:

Provider cannot be found. It may not properly installed.

Может кто-нибудь помочь с этим?

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Пара вещей, которые вы можете проверить

  1. Возможно, у вас фактически не установлено ядро ​​базы данных для пакета Office. Я бы проверил это в первую очередь, особенно если вы не смогли подключиться раньше. Вот ссылка . Это требует, чтобы Access был установлен, я думаю.

  2. Вы также можете попробовать Provider=Microsoft.ACE.OLEDB.12.0 или Extended Properties="Excel 12.0;HDR=YES";, так как я не думаю, что вам нужно XML в Excel 10.0 XML.

  3. У меня есть две дополнительные заметки о том, когда вы это заработаете:

    • Вам нужно ссылаться на имя таблицы примерно так: [$vSheetName$$] с $ внутри скобок. Два знака доллара, например, если вы вводите переменную
    • Лучше всего заключать заголовки в тики [`] между скобками. С AA, если у любого заголовка есть пробелы, это единственный способ разобрать его
0 голосов
/ 27 февраля 2019

Ваш синтаксис запроса неверен.

Попробуйте использовать следующий синтаксис:

Select * from [Sheet1$]
0 голосов
/ 31 августа 2018

Попробуйте

dim cn as object, cnstr as string, rs as object

set cn = createobject("adodb.connection")
cnstr = "Provider=Microsoft.ACE.OLEDB.16.0,Data Source=C:\Users\myuser\Documents\demo.xlsx;Extended Properties=""Excel 10.0 Xml;HDR=YES"";Session:""session1"""
set rs = cn.Execute("Select * from [Sheet1]$")

некоторые версии EXCEL используют Provider=Microsoft.ACE.OLEDB.12.0 вместо Provider=Microsoft.ACE.OLEDB.16.0.

...