Назад | Перейти на главную страницу

Репликация слиянием с типом данных Geometry

Сбой агента слияния, поскольку схема статьи на издателе не соответствует схеме статьи на подписчике. Это может произойти, когда есть отложенные изменения DDL, ожидающие применения на подписчике. Перезапустите агент слияния, чтобы применить изменения DDL и синхронизировать подписку. (Источник: MSSQL_REPL, номер ошибки: MSSQL_REPL-2147199398)>

Ошибка преобразования типа данных varchar в геометрию. (Источник: MSSQLServer, номер ошибки: 8114) Получите помощь: http: // help / 8114

Я не уверен, что это ошибка, но единственный способ получить геометрические данные для успешной репликации - это использовать следующие настройки на издателе (Свойства статьи, установить свойства для всех таблиц) -:

Convert filestream to MAX data types - True

Как ни странно, «Преобразование пространственных типов данных в MAX» не решает проблемы. Также необходимо выбрать «Копировать пространственные индексы - True» для поддержки пространственных индексов. В остальном настройки по умолчанию должны быть в порядке.

Чтобы вызвать указанную выше ошибку, выполните следующие действия:

- ШАГ 1: Создайте базу данных на sql server 2008 R2 Enterprise или Developer Edition, создайте базу данных replicationtest; идти

ЕСЛИ OBJECT_ID ('dbo.SpatialTable', 'U') НЕ ЯВЛЯЕТСЯ NULL DROP TABLE dbo.SpatialTable; ИДТИ

- ШАГ 2: создать таблицу, в которой хранятся геометрические данные типа CREATE TABLE SpatialTable (id int IDENTITY (1,1), GeomCol1 geometry, GeomCol2 AS GeomCol1.STAsText ()); ИДТИ

- ШАГ 3: вставьте несколько образцов записей INSERT INTO SpatialTable (GeomCol1) VALUES (geometry :: STGeomFromText ('LINESTRING (100 100, 20 180, 180 180)', 0));

- ШАГ 4: - настроить дистрибьютора в этой корпоративной редакции - Создать публикацию в указанной выше базе данных

- ШАГ 5. Создайте подписчика на SQL Server 2008 r2 express edition (используя принудительную подписку)

- ШАГ 6: Теперь после применения снимка обе базы данных синхронизируются

- ШАГ 7: Вставьте строку в приведенную выше таблицу на издателе INSERT INTO SpatialTable (GeomCol1) VALUES (geometry :: STGeomFromText ('POLYGON ((0 0, 150 0, 150 150, 0150, 0 0))', 0) ); ИДТИ

- ШАГ 6: Запустите монитор репликации и обратите внимание на ошибку:

Агент слияния не удалось, потому что схема статьи на издателе не соответствует схеме статьи на подписчике. Это может произойти, когда есть отложенные изменения DDL, ожидающие применения на подписчике. Перезапустите агент слияния, чтобы применить изменения DDL и синхронизировать подписку. (Источник: MSSQL_REPL, номер ошибки: MSSQL_REPL-2147199398)>

Error converting data type varchar to geometry. (Source: MSSQLServer, Error number: 8114) Get help: http://help/8114

Установите для параметров совместимости SQL Server 2008 значение SQL Server 2008.

Может быть установлена ​​совместимость с SQL Server 2005, который не поддерживает столбец Geometry.