Невозможно найти устанавливаемый isam 1c
Как разрешить "Не удалось найти устанавливаемый 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С, которая используется на компьютере. Для этого запустите диспечер задач 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С.
По-умолчанию это «С:\Sbis1C». В зависимости от режима работы, настройки могут храниться на сервере вместе с базой 1С или на локальном компьютере. - В зависимости от конфигурации 1С, скачайте файл *.xml:
- для 1С: «Управление торговлей» версия 10 , «Управление производственным предприятием» — файл настроек.
- для 1С: «Управление торговлей» версия 11, «ERP», «Бухгалтерия государственного учреждения», «Бухгалтерия сельскохозяйственного предприятия», «Бухгалтерия 2.0», «Бухгалтерия 3.0», «Комплексная автоматизация 2.0», «Управление нашей фирмой 1.0» — файл настроек.
- Переименуйте скачанный файл в соответствии с другими файлами настроек, но не указывайте расширение «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
Репутация: 35
Всего: 65
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
Репутация: нет
Всего: нет
мр ДУДА - получилось то же самое.
Томас - этот вариант помог, расскажи в чем прикол.
Репутация: нет
Всего: нет
Репутация: 8
Всего: 232
Модератор: Пожалуйста, один топик - один вопрос.
Для начала можно погуглить, наверняка ответ найдётся.
Репутация: 35
Всего: 65
выражение в кавычках.
Теперь ты пишешь в коде
А шпацию кто будет писать, Пушкин? После From сначала шпация, а потом кавычки. И возьми свой Индекс 2008.xls в одинарные кавычки. Это все же string.
Крепко жму горло, искренне ваш Thomas. (С)vingradНекоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
Репутация: нет
Всего: нет
Вот как решил проблему: поскольку мне лень все время ковыряться в коде и менять имена файлов в строке, то я сделал проще. Добавил элемент C1XLBook.
Здесь sPathExcl - полный путь к файлу, включая имя. Загружаем в него экселевский файл и получаем доступ к его элементам.
В итоге строка соединения получилась вот такой:
Осталось только придумать как работать с эксель-файлами, в которых несколько листов.
Кстати: все это не работает с офисом 2007. Поэтому приходится сначала сохранять файл в эксель97-2003.
Репутация: нет
Всего: 1
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.
[ Время генерации скрипта: 0.1223 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Читайте также: