Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/180: Рейтинг темы: голосов - 180, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 25

Несовместимая версия файла базы данных

04.11.2011, 19:36. Показов 35733. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, возникла такая проблема.
Имеется обработка, которая подключается к другой базе и вытаскивает нужные данные.
У меня развернута база на платформе 8.2 и я из другой базы развернутой на той же платформе пытаюсь подключиться, выдается сообщение об ошибке: Несовместимая версия файла базы данных 'D:\тря-ля-ля/1Cv8.1CD'.
Сама база, к которой я пытаюсь подключиться когда то была на 8.1 и ныне переконвертированная под 8.2.
Не подскажите ли в чем проблема, и как ее устранить?

Заранее огромнейшее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2011, 19:36
Ответы с готовыми решениями:

Несовместимая версия файла базы данных
При попытке открыть конфигурацию выдается ошибка 'Несовместимая версия файла базы данных 'C:\...\1с/1Cv8.1CD'. Если нажать...

DacFX несовместимая версия
Всем привет, помогите решить проблему, когда пытаюсь редактировать таблицу БД в VS2012 пишет несовместимая версия DacFX

Восстановить поврежденный файл базы данных SQLite (сделать дамп запароленного файла базы данных)
Вообщем не понятно после чего перестал открываться файл базы данных с ошибкой - "database disk image is malformed". Нашел...

24
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
05.11.2011, 01:41
Через конфигуратор всё получится.

Добавлено через 2 минуты
Ну, то есть, открыть эту обработку в конфигураторе. А он кроме сообщения о чужой платформе предложит конвертнуть. Согласиться, и после сохранения обработки можно открывать её в ентерпрайзе.
0
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 25
05.11.2011, 23:57  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение
Через конфигуратор всё получится.

Добавлено через 2 минуты
Ну, то есть, открыть эту обработку в конфигураторе. А он кроме сообщения о чужой платформе предложит конвертнуть. Согласиться, и после сохранения обработки можно открывать её в ентерпрайзе.

Открывала, он мне такого не предлагал.
0
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
06.11.2011, 00:51
А, да. Извини. Невнимательно читаю. База-источник в 8.2, а обработка из базы-приёмника ловит её как 8.1? База-источник работает? Конфы аналогичные? Попробуй сархивировать её, а потом восстановить в чистом месте.

Ещё поэкспериментировать - выгрузить данные в xml типовой обработкой "выгрузки в аналогичную конфу". Конфигурацию сохранить в файл и загрузить в пустую базу, а потом типовой же обработкой "Загрузка..." загрузить из xml данные. Это типа протирки стёкол и пинания по покрышкам.
А вообще, по-игроцки, в отладчике отловить место, где обработка анализирует версию базы и действовать по ситуации. Есть всякие уголочки, где прописана эта версия. Может, в этом дело. Где-то зависло "8.1" вместо "8.2" или тупо версия конфы считается несовместимой? Вернее всего разобраться с программным кодом.
0
 Аватар для fimbulwinter
309 / 309 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
06.11.2011, 19:09
Если OLE, тогда проблем быть не должно
0
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
06.11.2011, 20:13
Похоже, что OLE, и что якобы ошибка - дело рук программиста.
Глянуть бы в эту обработку на точку ошибки.
0
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 25
07.11.2011, 20:16  [ТС]
Я не знаю как обработка ее ловит, я написала ошибку, там вроде бы открытого заявление про 8.1 нет.
База источник работает, конфы... ну вроде бы аналогичные.
И эта обработка работала, когда конфигурации были такие же, только тогда подключение было к версии 8.1. (в обработке строчка исправлена и подключаемся уже к приложению 8.2)
Спасибо за совет, попробую так поймать ошибку)
0
 Аватар для fimbulwinter
309 / 309 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
07.11.2011, 20:38
возникла идея, верно ли в обработке стоит ComКонектор?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4030 / 2975 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
07.11.2011, 23:17
Ну похоже на то что комКоннектор создается по текущей базе и ломиться в 8.1 через V82.ComConnector. или же наоборот. Короче - Давайте обработку в студию, разберемся.

Добавлено через 15 минут
duk337, И я бы не стал винить в этой ошибке программиста!
Во первых - если бы все программисты продумавали код на будующее у нас бы не было работы)))
Во вторых - Скорее всего ему заплатили копейки за эту обработку, ты бы стал сидеть продумывать если подключение по КОМ не доступено тогда пробывать подключение через NATIV или ODBC и писать для этих подключений свой алгоритм??? Думаю за небольшие деньги нет!!!

Zmeyuga, Попробуйте закоментировать строчку где встречается такое слово -
C Скопировано
1
ПеременнаяКом = Новый ComОбъект("ТутЧтоТоНаписано"); или ПеременнаяКом = New ComObject("Тут что то написано");
Ниже добасить
C Скопировано
1
2
3
4
5
6
7
8
9
Попытка
ПеременнаяКом = Новый ComОбъект("V82.ComConnector");
Исключение
Попытка
ПеременнаяКом = Новый ComОбъект("V81.ComConnector");
Исключение
ВызватьИсключение "Вызовите программиста он вам поможет за небольшую плату";
КонецПопытки;
КоннецПопытки;
Добавлено через 2 минуты
"ПеременнаяКом = Новый ComОбъект("ТутЧтоТоНаписано"); или ПеременнаяКом = New ComObject("Тут что то написано");"
Это пример, дословно по ctrl+F искть не надо!!!
1
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
07.11.2011, 23:38
Цитата Сообщение от Dethmontt Посмотреть сообщение
duk337, И я бы не стал винить в этой ошибке программиста!
Согласен, не виню. Имелось в виду - это не есть трабл в базе. Это в тексте. А баг это или фича - надо было посмотреть. А когда узнал, что обработка заточена под базу 81, а напускают её на базу 82 - даже и комментить не стал: разгадка и так близка.
0
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 25
07.11.2011, 23:49  [ТС]
Ну это писал не совсем даже программист,а начинающий студент ( то есть я).
И про такие страшные вещи даже и не знала(

У меня стоит так:
C Скопировано
1
УТ = новый COMобъект("V82.Application");



Попробовала вышеописанный вариант, вроде бы мы смогли подключиться, огромнейшее спасибо.

А обращение к объектам базы источника можно писать так:
C Скопировано
1
ПромПерем=КомПеременная.ИмяМодуля.ИмяПроцедуры();
0
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
08.11.2011, 00:03
Это простительно :)
0
 Аватар для fimbulwinter
309 / 309 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
08.11.2011, 00:15
Цитата Сообщение от duk337 Посмотреть сообщение
Согласен, не виню. Имелось в виду - это не есть трабл в базе. Это в тексте. А баг это или фича - надо было посмотреть. А когда узнал, что обработка заточена под базу 81, а напускают её на базу 82 - даже и комментить не стал: разгадка и так близка.
действительно, комментить не стали.
наверное потому что отгадка не вам пришла в голову, увы...
0
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 25
08.11.2011, 10:45  [ТС]
ну-ну, не фырчитесь))

Извините пожалуйста, но можно объяснить почему та строчка кода не срабатывала, из-за чего?

Добавлено через 14 минут
Цитата Сообщение от duk337 Посмотреть сообщение
Отдельное и огромное спасибо за снисходительность и ссылку.
0
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
08.11.2011, 11:59
Цитата Сообщение от fimbulwinter Посмотреть сообщение
действительно, комментить не стали.
наверное потому что отгадка не вам пришла в голову, увы...
Увы

зме 1с8 прописывается в системном реестре по-другому чем 1с7, поэтому и обращение к оле-серверам 1с81 и 1с82 стало "ComConnector". Понятно, что ошибки синтакс контроль не выдаёт, поскольку параметр символьный, а винда не находит приложение по этому параметру. Если интересно по-взрослому, в командной строке винды набрать regedit, а там поиском по ^F "ComConnector" пройти их все. И да раскроются кое-какие тайны . Кроме 1сников таких идентификаторов никто не придумал.
0
 Аватар для fimbulwinter
309 / 309 / 1
Регистрация: 16.01.2011
Сообщений: 1,073
08.11.2011, 12:35
вообще все совсем не так. Есть такие понятия как CLSID и ProcID.
Ну да это выходит за рамки текущей темы.
И ошибок выдавать обработка тоже не будет потому как установлено две платформы, следовательно ProcID зарегистрирован в реестре для обеих платформ и совсем не важно какой идентификатор.
Не верно то, что топикстартер берет механизм одной платформы и пытается открыть совсершенно другой по структуре и метаданным, все равно что ложкой банку варенья открывать.
0
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
08.11.2011, 13:42
Цитата Сообщение от fimbulwinter Посмотреть сообщение
вообще все совсем не так. Есть такие понятия как CLSID и ProcID.
Ну да это выходит за рамки текущей темы.
Правильно. Я для людей. Поскольку сам дилетант.

Цитата Сообщение от fimbulwinter Посмотреть сообщение
И ошибок выдавать обработка тоже не будет потому как установлено две платформы, следовательно ProcID зарегистрирован в реестре для обеих платформ и совсем не важно какой идентификатор.
Абсолютно верно. Но какой идентификатор всё-таки важно. Просто все идентификаторы есть - тут я криво написал, согласен. И "аппликейшн" есть. Он, наверное, просто для других целей, раз нужен "коннектор". Да?

Цитата Сообщение от fimbulwinter Посмотреть сообщение
Не верно то, что топикстартер берет механизм одной платформы и пытается открыть совсершенно другой по структуре и метаданным, все равно что ложкой банку варенья открывать.
Тут мне самому интересно. Я так понял, что сначала в обработке запускалось ядро 81 и открывалась база 81. Потом базу конвертнули в 82 и ядро 81 выдало штатное сообщение. Потом в тексте поменяли 81 на 82 с сохранением обращения к оле "Application". Да? А чем отличается "Application" от "ComConnector" я не очень знаю. На первый взгляд, "Application" д.б. шире и "ComConnector" как бы его фрагмент. Надо полазить по текстам обработок обмена.
PS. Я ведь ни на что не претендую. Кроме жажды познания мною ничего не движет
Открываем раздел реестра HKEY_CLASSES_ROOT. Находим любимые сочетания типа "1CV82 Application", там есть параметр CLSID примерно такой : {5CD98F13-1050-4b43-84F2-33AD97CFC287}.
В HKEY_CLASSES_ROOT.CLSID находим этот класс. Там и екзешник (дээлелька), и тип, ну и т.д. - это уже совсем не моя грядка
0
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 25
08.11.2011, 18:15  [ТС]
Во жуть, обманули меня молодую и неопытную просто таки ужасно, подсунули не ясно что с соединением(

Цитата Сообщение от duk337 Посмотреть сообщение
Тут мне самому интересно. Я так понял, что сначала в обработке запускалось ядро 81 и открывалась база 81. Потом базу конвертнули в 82 и ядро 81 выдало штатное сообщение. Потом в тексте поменяли 81 на 82 с сохранением обращения к оле "Application". Да? А чем отличается "Application" от "ComConnector" я не очень знаю. На первый взгляд, "Application" д.б. шире и "ComConnector" как бы его фрагмент. Надо полазить по текстам обработок обмена.
Сначала открывалась обработкой 8.1, потом открывалась 8.2, а на третий раз (но уже с другой базой) ничего не открылось.
0
 Аватар для duk337
2955 / 1767 / 83
Регистрация: 03.11.2011
Сообщений: 8,280
08.11.2011, 19:30
Цитата Сообщение от Zmeyuga Посмотреть сообщение
Во жуть, обманули меня молодую и неопытную просто таки ужасно, подсунули не ясно что с соединением(

Сначала открывалась обработкой 8.1, потом открывалась 8.2, а на третий раз (но уже с другой базой) ничего не открылось.
Я понял, что оба раза из 82. Обращение сначала к 81, потом к 82. К 82 к одной базе удачно, а к другой не удачно? Что-то тут не вяжется. Поюзать бы фрагмент программного текста, где идёт соединение с базой. От инициализации оле до обращения к метаданным.
Но если были удачные соединения с какой-то базой, то в другой базе могло не оказаться объекта какого-нибудь, флажка, там, процедурки... Опять же о возможном сообщении об ошибке можно только гадать. Коннектор м.б. не оснащён механизмом обработки ошибок, как аппликейшн... Так работает или нет? Если нет, то информации для диагноза малость не хватает. Весь анамнез нужен, а лучше обработка. моя почтуха duk337@gmail.com
0
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 25
08.11.2011, 20:20  [ТС]
Цитата Сообщение от duk337 Посмотреть сообщение
Я понял, что оба раза из 82. Обращение сначала к 81, потом к 82. К 82 к одной базе удачно, а к другой не удачно? Что-то тут не вяжется. Поюзать бы фрагмент программного текста, где идёт соединение с базой. От инициализации оле до обращения к метаданным.
Но если были удачные соединения с какой-то базой, то в другой базе могло не оказаться объекта какого-нибудь, флажка, там, процедурки... Опять же о возможном сообщении об ошибке можно только гадать. Коннектор м.б. не оснащён механизмом обработки ошибок, как аппликейшн... Так работает или нет? Если нет, то информации для диагноза малость не хватает. Весь анамнез нужен, а лучше обработка. моя почтуха duk337@gmail.com
Именно так, и поэтому я была в печали, что вдруг перестало подключаться, вообщем то проблему я решила окружным путем и все нужные данные из базы в базу уже перетащила, осталось просто любопытство.
И до обращения к метаданным у меня не доходило, у меня уже не подключалось к базе. Сейчас через коннектор вроде бы подключается, но уже не идет с обращением. Сбегала в конфигурацию базы приемника, попялилась на модуль, лежит, название такое же, имя процедуры, к которой обращаюсь тоже...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.11.2011, 20:20
Помогаю со студенческими работами здесь

Редактирование файла базы данных
Здравствуйте, есть файл формата .db3 в нем нужно изменить определенное значение, как это возможно сделать?

Вывод файла из базы данных
Добрый день! Пытаюсь вывести файл из б.д. mysql. Вместо этого скачивается сама страница. Ошибка из-за заголовков я так понимаю или ?В чем...

Архивация файла базы данных
Добрый день проблема заключается в следующем. Надо сделать архивацию на windows 10 64 разряда. Папка апхивируется, а вот файлы не...

Чтение базы данных из файла
База Данных “Студенты”. Данные БД хранятся в файле. Структура БД: - № (номер элемента) - ФИО студента - Дата рождения...

Открытие файла из базы данных
Вопрос вот в чем, я просканировал локальную папку и записал адреса файлов в базу данных. Как открыть этот файл на другом компьютере по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
Создаем Telegram бот на TypeScript с grammY
run.dev 05.04.2025
Одна из его самых сильных сторон Telegram — это интеграция ботов прямо в экосистему приложения. В отличие от многих других платформ, он предоставляет разработчикам мощный API, позволяющий создавать. . .
Паттерны распределённых транзакций в Event-Driven микросервисах
ArchitectMsa 05.04.2025
Современные программные системы всё чаще проектируются как совокупность взаимодействующих микросервисов. И хотя такой подход даёт множество преимуществ — масштабируемость, гибкость, устойчивость к. . .
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер