Merge Replication com tipo de dados Geometry

1

O Merge Agent falhou porque o esquema do artigo no Publicador não corresponde ao esquema do artigo no Assinante. Isso pode ocorrer quando houver alterações de DDL pendentes aguardando para serem aplicadas no Assinante. Reinicie o Merge Agent para aplicar as alterações de DDL e sincronizar a assinatura. (Fonte: MSSQL_REPL, número do erro: MSSQL_REPL-2147199398) >

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

    
por Mark Henderson 14.09.2010 / 03:19

3 respostas

1

Não tenho certeza se é um bug, mas a única maneira de obter dados de geometria para replicar com êxito é usar as seguintes configurações no editor (Propriedades do artigo, definir propriedades para Todas as tabelas) -:

Convert filestream to MAX data types - True

Estranhamente, "Converter tipos de dados espaciais para MAX" não corrige o problema. Também é necessário selecionar "Copiar índices espaciais - Verdadeiro" para suporte ao índice espacial. Fora isso, os padrões devem estar bem.

    
por 24.10.2014 / 08:11
0

Para produzir o erro acima, siga os passos abaixo:

- PASSO 1: Crie um banco de dados no sql server 2008 r2 enterprise ou na edição do desenvolvedor criar um teste de replicação de banco de dados; vai

SE OBJECT_ID ('dbo.SpatialTable', 'U') NÃO É NULL     DROP TABLE dbo.SpatialTable; GO

- ETAPA 2: criar uma tabela armazenando o tipo de dados de geometria CREATE TABLE SpatialTable     (id int IDENTIDADE (1,1),     Geometria GeomCol1,     GeomCol2 AS GeomCol1.STAsText ()); GO

- PASSO 3: insira alguns registros de amostra INSERT INTO SpatialTable (GeomCol1) VALORES (geometria :: STGeomFromText ('LINESTRING (100 100, 20 180, 180 180)', 0));

- PASSO 4: - configure o distribuidor nesta edição corporativa --Criar uma publicação no banco de dados acima

- ETAPA 5: criar um assinante na edição expressa do SQL Server 2008 r2 (usando a inscrição por push)

- PASSO 6: Agora, uma vez que o snapshot é aplicado, ambos os bancos de dados são sincronizados

- PASSO 7: insira uma linha na tabela acima no editor INSERT INTO SpatialTable (GeomCol1) VALORES (geometria: STGeomFromText ('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0)); GO

- PASSO 6: Inicie o monitor de replicação e observe o erro:

O Merge Agent falhou porque o esquema do artigo no Publicador não corresponde ao esquema do artigo no Assinante. Isso pode ocorrer quando houver alterações de DDL pendentes aguardando para serem aplicadas no Assinante. Reinicie o Merge Agent para aplicar as alterações de DDL e sincronizar a assinatura. (Fonte: MSSQL_REPL, número do erro: MSSQL_REPL-2147199398) >

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

Defina as configurações de compatibilidade do SQL Server 2008 com o SQL Server 2008.

Pode ser definido como compatibilidade com o SQL Server 2005, que não suporta a coluna Geometry.

    
por 11.05.2012 / 10:26