Точка в имени столбца не поддерживается при создании TDE Marklogic - PullRequest
0 голосов
/ 14 сентября 2018

Мы импортируем данные CSV в marklogic. Некоторые из столбцов имеют точку (.) В своих именах. Он отлично загружается в MarkLogic (вместе с точкой).

Однако, когда мы создаем шаблон TDE для создания представления, точка не принимается. Выкидывает мне ошибку ниже:

[1.0-ml] TDE-INVALIDTEMPLATE: (err:FOER0000) Invalid TDE template: TDE-INVALIDSQLNAMENODE: Invalid SQL object name: "DataType." for /tde:template/tde:rows/tde:row/tde:columns/tde:column[3]/tde:name

Я могу заменить точку подчеркиванием, но искал альтернативные варианты.

1 Ответ

0 голосов
/ 14 сентября 2018

В tde.xsd имя определяется следующим образом:

<xs:simpleType name="name">
    <xs:annotation>
        <xs:documentation>
            A generic name type.
        </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:NCName">
        <xs:minLength value="1"/>
        <xs:pattern value="[^.\-\p{Z}]+"/>
    </xs:restriction>
</xs:simpleType>

То есть точка в имени столбца не допускается. Вы можете найти xsd в каталоге установки MarkLogic в Config/tde.xsd.

Я бы предложил заменить точку подчеркиванием или использовать camelCase для имен столбцов.

...