|
Запрос к файлу Excel | ☑ | ||
---|---|---|---|---|
0
Kasper076
14.10.11
✎
14:57
|
Платформа 8.1.15.14 Win XP SP3
Есть код: ПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils"); ADOUtils = Новый("AddIn.ADOUtils"); Connection = Новый COMОбъект("ADODB.Connection"); Connection.Open("Driver={SQL Server};Server=MWSS;Database=master;Uid=sa;Pwd=;"); СписокДокументов = " |SELECT * FROM |OPENROWSET('Microsoft.Jet.OLEDB.4.0', |'Excel 8.0;Database=" + ПолноеИмяФайла + "', |'SELECT * FROM [" + ИмяЛиста + "$]') |"; Recordset = Connection.Execute(СписокДокументов); //Выгрузка результата запроса в ТЗ ТЗ = ADOUtils.ADORecordsetToValueTable(Recordset); На сервере (Win S 2003 SP2)все работает нормально? а вот на клиентсой машине выдает следующую ошибку: "Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][SQL Server]Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил данных об ошибке. Recordset = Connection.Execute(СписокДокументов); по причине: Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][SQL Server]Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил данных об ошибке." В чем может быть причина? |
|||
1
shuhard
14.10.11
✎
15:10
|
(0) [ПолноеИмяФайла] подозрительное,
может нет на MWSS пути к нему |
|||
2
Happy Bear
14.10.11
✎
15:15
|
Ха, хорошо компоненту назвал ;))
Версия екселя везде одинаковая? |
|||
3
Kasper076
14.10.11
✎
15:17
|
Компонента не моя. На сервере вообще нет Ехеля.
|
|||
4
shuhard
14.10.11
✎
15:17
|
(2) гм, вроде тут эксель не участвует,
ADODB работает через линкованныый MS SQL сервер? видимо чтобы скрыть прямой доступ к xls файлу по сети |
|||
5
shuhard
14.10.11
✎
15:19
|
(2) а, ты о Excel 8.0,
ТС - вопрос то верный xls не может быть 2003 ? |
|||
6
aleks-id
14.10.11
✎
15:21
|
я вот так делал
только надо скачать и установить на комп http://www.microsoft.com/download/en/details.aspx?id=23734 СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = "+Путь; СтрокаПодключения = СтрокаПодключения + "; Extended Properties = "+"""Excel 12.0"+";HDR=NO;IMEX=1"";"; // Подключаемся Об_Конект = Новый COMОбъект("ADODB.Connection"); Попытка Об_Конект.Open(СтрокаПодключения); Исключение Сообщить ("Невозможно подключится к Microsoft Excel Driver!!! |Возможно файл ["+Путь+"] открыт другим пользователем."); Возврат; КонецПопытки; СтрЗапроса = " |SELECT * |FROM [A" + Формат(НачальнаяСтрока,"ЧГ=0") + ":CZ" + Формат(КонечнаяСтрока,"ЧГ=0") + "] |"; RecordSet = Новый COMОбъект("ADODB.Recordset"); Попытка RecordSet = Об_Конект.Execute(СтрЗапроса); Исключение Сообщить("Не удалось выполнить запрос к файлу Excel |"+ ОписаниеОшибки(),СтатусСообщения.Важное); Возврат; КонецПопытки; |
|||
7
aleks-id
14.10.11
✎
15:22
|
+(6) читает и xls и xlsx
|
|||
8
shuhard
14.10.11
✎
15:23
|
(6) симпатичный провайдер
|
|||
9
Kasper076
14.10.11
✎
15:26
|
Смысл???
RecordSet = Новый COMОбъект("ADODB.Recordset"); RecordSet = Об_Конект.Execute(СтрЗапроса); |
|||
10
Kasper076
14.10.11
✎
15:27
|
Больше волнует почему на сервере работает, а на компе нет.
|
|||
11
Kasper076
14.10.11
✎
15:28
|
(5) На серваке любой xls хавает.
|
|||
12
shuhard
14.10.11
✎
15:29
|
(10) начни с простого
- версии - права - пути |
|||
13
Kasper076
14.10.11
✎
15:30
|
-версии чего??
-права админские везде -пути эдентичны |
|||
14
Kasper076
14.10.11
✎
15:31
|
*идентичны
|
|||
15
shuhard
14.10.11
✎
15:32
|
(13) права админские везде - от какой учетной записи запущен MS SQL и есть ли у ней права на ПолноеИмяФайла ?
|
|||
16
Kasper076
16.10.11
✎
10:10
|
Если на сервере все работает, значит учетке, от которой запущен SQL прав хватает.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |