(9) Xershi, на SQL-сервере есть база данных с информационной базой на 8.1. Я запускаю 1С (или Администрирование сервера) и пытаюсь создать новую базу 1С, прописав для нее существующую базу SQL. Вываливается ошибка. То же самое, если создавать базу "с нуля" (которой еще нет на SQL-сервере).
Создал базу 1С под управлением платформы 8.3, выбрав ей в соответствие базу SQL, в которой хранилась конфигурация на платформе 8.1.
Во время запуска 1С попросила сконвертировать конфигурацию в вид, удобоваримый для 8.3. Нажал "Да". Конфигурация открылась, вид окошек такой же как и в 8.1, вроде бы все довольны, но... Эта база - всего лишь копия рабочей и нужна для написания и отладки в ней механизмов, которые потом будут запускаться в базе с конфигурацией на 8.1. Понятное дело, что из сконвертированной базы переносить их просто так не получится. Короче - этот вариант вполне рабочий, но в моем случае не совсем подходит. Буду переустанавливать Windows. ilya.don, Xershi, спасибо за помощь!
Задлянафига(! Каким боком тут винда? Каким боком винда к несоответствию версий sql server, на котором был сделан бэкап и того, на котором этот бэкап восстанавливается? Все делаем методом тупого тыка куда попало?
(21)Дмитрий, очень помогла информация от вас по патчингу sqlsrvr.dll (8.1.15.14) для работы 1С 8.1 с MS SQL 2012 и старше. Не подскажите какие биты поменять в sqlsrvr.dll (8.1.15.14) только 64-битной версии 1С 8.1.
(21) как у вас получилось узнать какие биты нужно поменять для версии sqlsrvr.dll (8.1.15.14)? Я сколько ни пытался, не вижу логики, какие биты мне поправить в sqlsrvr.dll (8.2.16.368) x64 версия.
После двухдневного штурма:
Сервер 1С обращается к SQL-провайдеру OLE DB:
С:\Program Files\Common Files\system\ole db\sqloledb.dll
для х86 соответствующая папка.
Этот компонент входит в пакет MDAC и на windows server 2012 версия подходящая. На более старших требуются правки.
В этом файле HEX-редактором ищется в юникоде строка версии из ошибки - например 10.00.17763, она же является версией файла в его свойствах. Вхождений три, нужно первое. И правится в юникоде на подходящую версию: 08.00.0194 Лишний символ забивается нулями.
Перезапустить службу. Всё!
Правильнее было бы подправить sqlsrvr.dll проверку версии, но не смог дать разума дебаггеру подцепиться к рабочему процессу. Править надо в районе двух проверок swscanf по символам %d.%d.%d