Невозможно найти устанавливаемый isam 1c

Обновлено: 07.07.2024

Как разрешить "Не удалось найти устанавливаемый ISAM". ошибка для поставщика OLE DB "Microsoft.ACE.OLEDB.12.0"

СМС рассылка без абонплаты!

Решения LoRaWAN для ЖКХ и города

Получите Допуск СРО! Акция - От 55т.р!

Я пытаюсь импортировать данные из файлов Excel 2007 (.xlsx) в SQL Server 2008 с помощью команды T-SQL OpenRowset() с поставщиком OLE DB "Microsoft.ACE.OLEDB.12.0" , и я получаю постоянная ошибка "Не удалось найти устанавливаемый ISAM". Все аппаратные средства 32-разрядные.

[Пересмотрено 1/10/12, чтобы попытаться более резко сосредоточиться на аномалиях)

Следующий оператор T-SQL создает ошибку:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',

'Data Source=C:\work\TestData.xlsx;Extended Properties="Excel 12.0 XML;HDR=YES"',

'SELECT * FROM [Sheet1$]'

Если я сохраню файл Excel в формате Excel 97-2003 (.xls) и использую более старый поставщик Microsoft.Jet.OLEDB.4.0 для импорта данных, он работает нормально. Это заставляет меня думать, что это не проблема безопасности или другая экологическая проблема.

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'SELECT * FROM [Sheet1$]'

Однако, когда я пытаюсь создать файл *.xls с поставщиком Microsoft.ACE.OLEDB.12.0, который должен быть обратно совместим с форматом *.xls, он снова терпит неудачу с той же ошибкой:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',

'Data Source=C:\work\TestData.xls;Extended Properties="Excel 8.0;HDR=YES";',

'SELECT * FROM [Sheet1$]'

Кроме того, интересно, когда я использую мастер SSMS "Импорт данных. ", он отлично работает. Я сохранил вывод мастера импорта данных в виде пакета SSIS и просмотрел файл SSIS, чтобы попытаться выяснить, как он работает, и он успешно использует поставщика Microsoft.ACE.OLEDB.12.0. Это строка соединения из пакета SSIS:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\work\TestData.xlsx;Extended Properties="Excel 12.0 XML;HDR=YES";

Я также выполнил соответствующую конфигурацию SQL Server, чтобы разрешить распространенный запрос OPENROWSET:

sp_configure 'show advanced options', 1

sp_configure 'Ad Hoc Distributed Queries', 1

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1

. тогда ошибка изменится на "Unspecified error":

OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Unspecified error".

Msg 7303, Level 16, State 1, Line 1

Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

Однако я не уверен, что это ошибка восходящего или нисходящего потока. (Теперь он находит "устанавливаемый ISAM", но впоследствии не работает?)

Я пробовал это с несколькими файлами Excel на двух разных машинах/операционных системах (Windows Server 2003, Windows XP SP3). Обе машины 32-разрядные.

"Microsoft.Jet.OLEDB.4.0" работает с использованием T-SQL, но "Microsoft.ACE.OLEDB.12.0" этого не делает.

"Microsoft.ACE.OLEDB.12.0" работает с помощью мастера "Импорт данных. " (насколько я могу сказать из сохраненного файла задания SSIS).

Настройка свойств "AllowInProcess" и "DynamicParameters" на "1" изменяет ошибку на "Unspecified error". (Это шаг вперед?!)

tsql excel-2007 oledb openrowset isam

Martin_ATS 10 янв. '12 в 2:48

ПОПРОБУЙТЕ это, это может вам помочь:

установите path и strFileType согласно требованию

// string strFileType = Path.GetExtension(UpfileName.FileName).ToLower();

// string path = UpfileName.PostedFile.FileName;

connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";

else if(strFileType.Trim() == ".xlsx")

connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";

Sagar R 30 янв. '14 в 9:42

Хай также столкнулся с такой ситуацией, я решил ее

string ConeectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtFlp.Text

+ ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\"");

OleDbConnection oconn = new OleDbConnection(ConeectionString);</b>

user4049619 17 сент. '14 в 9:03

Не удалось найти устанавливаемый ISAM. Ошибка сервера в приложении

Соединение OLEDB с базой данных Access с паролем: "Не удалось найти устанавливаемый ISAM"

сохраняйте это исключение System.Data.OleDb.OleDbException(0x80004005) :?

Поставщик Microsoft.ACE.OLEDB.12.0 больше не может открывать .mdb под Windows 8

Как узнать причину разрешения поставщика OLE на SQL Server?

Агент SQL Server не может выполнить запрос OPENROWSET, но я могу - "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)" сообщила об ошибке

Экспорт данных из SQL Server 2014 в Excel

Проверьте это: Msg 7302, уровень 16, состояние 1, строка 1 Невозможно создать экземпляр поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)"

В принципе, вы переходите к

Панель управления > Администрирование > Службы компонентов

Службы компонентов > Компьютеры > Мой компьютеp > Конфигурация DCOM

Свойствa > Безопасность > Разрешения запуска и активации

добавьте свое имя пользователя или "все", если вы предпочитаете

отметьте ВСЕ поля "разрешить" для нового пользователя/группы

и нажмите ОК на обеих страницах

Теперь посмотрите, работает ли ваша команда OpenRowSet/OpenDataSource

Hamid Sadeghian 19 мая '14 в 10:30

Это сработало для меня:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',

Simon Turner 18 июл. '17 в 11:27

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',

'EXCEL 12.0;DataBase=C:\TEMP\test.xlsx;Extended Properties="EXCEL 12.0 Xml;HDR=YES', [Sheet1$])

Gurm 26 февр. '13 в 17:01

Я думаю, что ответ скрывается в информации о пакете SSIS, которую вы опубликовали. Новый формат файла xlsx хранит данные в формате XML вместо старого. Посмотрите на это снова. Он читает. Расширенные свойства = "Excel 12.0 XML; HDR = YES

Не пропустите этот XML после стандартного материала. (Для чего это стоит, я также прочитал, что вам нужно "Excel 12.0 Macro" для подключения к файлу xslm.)


Причина

Решение №1

  1. Определите разрядность платформы для конфигурации 1С, которая используется на компьютере. Для этого запустите диспечер задач Windows, перейдите на вкладку «Процессы» и проверьте название процесса 1С.
    • 1cv8ct.exe *32 — это 32-разрядная платформа (x86);
    • 1cv8ct.exe *64 — это 64-разрядная платформа (x64).


Если вы используете клиент-серверную версию 1С, проверку нужно выполнять на компьютере, где установлена серверная часть.

  • 1С x86, а MS Office x86 или не установлен — скачайте драйвер x86;
  • 1С x64, а MS Office x64/x86 или не установлен — скачайте драйвер x64.


  • 1С x86, а MS Office x64;
  • используется клиент-серверная версия 1С: клиент на компьютере с ОС Windows, а на сервере другая ОС.

В этих случаях воспользуйтесь другим решением.

Решение №2

  1. Определите каталог хранения настроек 1С.
    По-умолчанию это «С:\Sbis1C». В зависимости от режима работы, настройки могут храниться на сервере вместе с базой 1С или на локальном компьютере.
  2. В зависимости от конфигурации 1С, скачайте файл *.xml:
    • для 1С: «Управление торговлей» версия 10 , «Управление производственным предприятием» — файл настроек.
    • для 1С: «Управление торговлей» версия 11, «ERP», «Бухгалтерия государственного учреждения», «Бухгалтерия сельскохозяйственного предприятия», «Бухгалтерия 2.0», «Бухгалтерия 3.0», «Комплексная автоматизация 2.0», «Управление нашей фирмой 1.0» — файл настроек.
  3. Переименуйте скачанный файл в соответствии с другими файлами настроек, но не указывайте расширение «sbis».

Например: имя файла в настройках имеет вид «ВО82КА1-1-36_Конфигурация.sbis3.xml». Скачанный файл назовите «ВО82КА1-1-36_Конфигурация.xml»

Почему снова, потому что перед тем как запостить это — пользовался поиском и нашел кучу вопросов на этом форуме и вообще в интернете касательно ошибки "Невозможно найти устанавливаемый ISAM". Но кругом одни предположения почему оно так. кто советует офис переустановить, кто MDAC переустановить/обновить и пр. ситуаций разных куча в общем.
И вот еще одна, на сей раз моя ситуация )))
Цель: подключиться к *.dbf
Что делаю:

Подскажите, пожалуйста. может из дому на работу какие-то DLL-ки перетащить и заменить тамошние? что же сделать все-таки? Извините за столь истрепаный вопрос и спасибо за внимание!

Здравствуйте, vit0s, Вы писали:

V>Цель: подключиться к *.dbf
Цель хорошая, а средства несколько неочень. :)

Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков

Здравствуйте, ZAMUNDA, Вы писали:

ZAM>Я искал правду. не нашёл.

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

От: algol about:blank
Дата: 24.04.07 22:48
Оценка:

Здравствуйте, vit0s, Вы писали:

V>Цель: подключиться к *.dbf

Во-первых, у вас используется OdbcConnection, а строка подключения для OLEDB. Это немножко разные вещи.
Во-вторых, для подключения к dbf лучше использовать VFPOLEDB провайдер. Ваш подход похож на вырезание гланд через известное место. То есть вы имеете цепочку:
ваше приложение->ODBC (или OLEDB)->Jet->ISAM драйвер->dbf
И сами ISAM драйвера имеют очень ограниченную функциональность, предназначенную в основном только для импорта данных из различных форматов в Access.

V>Софт: дома и на работе — одинаково: WinXP SP2, Office-2007.
V>Пытался: обновить MDAC. Результата нет — ругался на систему он. Типа то язык не тот, то еще что-то.

MDAC нужно брать не самый последний, а какой-то более старый, 2.5 или 2.6, точно не помню. В более поздние версии Jet не входит. Если не ошибаюсь, то для Jet есть отдельный инсталлятор. ISAM драйвер можно поставить и через Office. В custom install есть раздел типа "Средства доступа к базам данных" и там можно отметить нужные драйвера для установки.

Репутация: нет
Всего: нет

В общем сабж.
Вот код, ругается на строку открытия соединения 46 и пишет "Невозможно найти устанавливаемый ISAM".

Кто знает в чем проблема, сам сталкиваюсь в первый раз.

Репутация: 8
Всего: 232

user posted image

Репутация: 35
Всего: 65

Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.

Репутация: нет
Всего: нет

мр ДУДА - получилось то же самое.
Томас - этот вариант помог, расскажи в чем прикол.

Репутация: нет
Всего: нет

Репутация: 8
Всего: 232

Модератор: Пожалуйста, один топик - один вопрос.

Для начала можно погуглить, наверняка ответ найдётся.

user posted image

Репутация: 35
Всего: 65

выражение в кавычках.

Теперь ты пишешь в коде

А шпацию кто будет писать, Пушкин? После From сначала шпация, а потом кавычки. И возьми свой Индекс 2008.xls в одинарные кавычки. Это все же string.

Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.

Репутация: нет
Всего: нет

Вот как решил проблему: поскольку мне лень все время ковыряться в коде и менять имена файлов в строке, то я сделал проще. Добавил элемент C1XLBook.


Здесь sPathExcl - полный путь к файлу, включая имя. Загружаем в него экселевский файл и получаем доступ к его элементам.
В итоге строка соединения получилась вот такой:

Осталось только придумать как работать с эксель-файлами, в которых несколько листов.
Кстати: все это не работает с офисом 2007. Поэтому приходится сначала сохранять файл в эксель97-2003.

Репутация: нет
Всего: 1

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

[ Время генерации скрипта: 0.1223 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Читайте также: