none
Миграция пространственных данных из Oracle в SQL Server 2008 RRS feed

  • Вопрос

  • Подскажите, как можно импортировать геоданные из Oracle в SQL Server 2008. SSMA 2008 for Oracle отказывается копировать таблицы содержащие поля с типом геоданные
    23 марта 2011 г. 13:09

Ответы

  • Enion, насколько мне известно, SSMA for Oracle не поддерживает миграцию столбцов с Oracle-типом SDO_GEOMETRY. К сожалению, пакеты SSIS также бессильны в отношении пространственных данных Oracle, потому что ни один из доступных им поставщиков данных геозначения этой СУБД не распознает.

    Одно из решений состоит в том, что обе СУБД поддерживают конвертацию пространственных данных в формат WKT (Well Known Text). Так что, если имеется таблица Oracle

    CREATE TABLE geoinfo (id NUMBER(10) NOT NULL, geo MDSYS.SDO_GEOMETRY);
    

    и таблица SQL Server

    CREATE TABLE (id NUMERIC(10) NOT NULL, geo geography)
    

    то линкуйте сервер Oracle (в запросе ORACLE_LS) и с помощью OPENQUERY слейте данные в табличку SQL Server

    INSERT INTO geoinfo (id, geo)
    SELECT id, geography::STGeomFromText(CAST(geo as nvarchar(max)), srid)
    FROM OPENQUERY(ORACLE_LS, 'SELECT id, SDO_UTIL.TO_WKTGEOMETRY(g.geo) geo, g.geo.sdo_srid srid FROM geoinfo g')
    

    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    • Помечено в качестве ответа Dmitry Davydov 22 апреля 2011 г. 13:38
    11 апреля 2011 г. 8:41