Верхом на коне и с мечом перевязь
Коротенький лук за спиной у него
Способный за раз утопить трех китов
А в правой же длани ключи от миров
Свободно летящих себе без богов.

вторник, 3 апреля 2012 г.

1С 7.7.027 на Windows 2008 r2 + SQL 2008

Перепостил статейку на будущее. Оригинал копии тут. Оригинал оригинала тут. :)



1С 7.7.027 на Windows 2008 r2 + SQL 2008

1. Исходные данные:


  • Windows Server 2008 x86 r2 Standard Edition
  • Microsoft SQL Server 2008 sp1 CU 3 Enterprise Edition
  • 1С 7.7 релиз 27

2. Выходные данные:


  • Нет ошибки "Неправильный синтаксис около ключевого слова "TRANSACTION"", вместо этого автоматом ставится модель восстановления "простая", т.е. можно не устанавливать модель восстановления вручную в свойствах базы
  • Нет ошибки "Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!"
  • Нет ошибки "Порядок сортировки, установленный для базы, отличается от системного!"
  • Нет ошибки, что базу нельзя перевести в монопольный режим (лечится косяк 1с с так называемым "checkpoint")
  • Все выгрузки и загрузки проходят на отлично
  • Нет ошибки SQL State: HY010 Function Sequence Error

3. Рецепты и припарки:


  • Устаналивем Window: затем из архива из папки SQL ODBC Driver или с сервера под управлением Windows 2003 переписать три библиотеки , которые находятся в%systemroot%\System32
  • sqlsrv32.dll, sqlsrv32.rll & odbcbcp.dll и записать их в %systemroot%\System32 и в%systemroot%\SysWOW64
  • для w2k8 x64 необходимо скопировать в оба каталога, для w2k8x32 только в%systemroot%\System32соответственно.
  • Для того, чтобы переписать эти файлы поверх имеющихся необходимо стать владельцем оригинальных файлов и добавить прав группе Adminisrators на Full Control.
  • SQL Server: при установке скуля важно выбрать "Cyrillic_General_CI_AS" в качестве серверной сортировки
  • Создаем базу в скуле, выбираем совместимость базы с MS SQL 2000(80), модель восстановления поставить простую(simple)
  • Идем в скуль, разворачиваем "базы данных" - "системные базы данных" - "master", тыкаем на "представления", выбираем "создать представление". Если выскочило "добавление таблицы", жмакаем закрыть, в поле кода (там по дефолту стоят select и from) копируем следующий текст: select * from sysprocesses where cmd <> 'checkpoint' и нажимаем кнопку "выполнить код sql" (находится выше слева, красный восклицательный знак), если код поменялся и не выскочило ошибок - это хорошо, жмем сверху кнопку "сохранить" и называем это представление вот так:sksprocesses
  • Копируем из архива папку 1Cv77 в program files(86)
  • Запускаем 1С

4. Рецепт:


  • Устаналиваем Windows и SQL Server, при установке скуля важно выбрать "Cyrillic_General_CI_AS" в качестве серверной сортировки 
  • Создаем базу в скуле, выбираем совместимость базы с MS SQL  2000(80), модель восстановления можно не менять, либо сразу поставить простую 
  • А теперь свое "ноу-хау" с "checkpoint'ом"  Идем в скуль, разворачиваем "базы данных" - "системные базы данных" - "master", тыкаем на "представления", выбираем "создать представление". Если выскочило "добавление таблицы", жмакаем закрыть, в поле кода (там по дефолту стоят select и from) копируем следующий текст: select * from sysprocesses where cmd <> 'checkpoint' и нажимаем кнопку "выполнить код sql" (находится выше слева, красный восклицательный знак), если код поменялся и не выскочило ошибок - это хорошо, жмем сверху кнопку "сохранить" и называем это представление вот так: sksprocesses 
  • Устанавливаем 1С 7.7 релиз 27 (1Cv_77_27_Unisetup.exe из архива), при установке выбираем sql версию, можно поставить совместимость с 2005-ым, это не существенно 
  • Заменям библиотекой BkEnd.dll из архива, соответствующую в папке с установленным 1С 7.7 
  • Ставим фикс от dumsik'a из папки 1c_Vista_server_2008_fix (находится в архиве) согласно прилагаемой в этой папке инструкции, только с небольшим дополнением: ни в коем случае нельзя удалять папку 1Cv7_SQLDriver с диска с:, а также к этой папке должен быть доступ 
  • Запускаем 1С и радуемся жизни.






3 комментария:

  1. Мне вот что интересно. У меня есть так же базы 1с версии 8,2 ескюелевские, у меня там с ескюелем нечего не случится, все будет работать как и прежде?

    ОтветитьУдалить
    Ответы
    1. Советую проверить поведение скуля в тестовой среде. На практике применять не пришлось. У меня серваки отдельные под 7.7 и 8.2.

      Удалить
  2. выполняю 4 пункт, при загрузке базы ошибка : SQL State: HY010 Function Sequence Error. Попробовал на 3 разных базах.

    ОтветитьУдалить