2016-09-13 1 views
0

Ich möchte die Länge auf MAX für eines meiner XML-Felder festlegen.SQL Server-Massen einfügen XML-Format-Datei mit Maximum LÄNGE

XML-Code:

<?xml version="1.0"?> 
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<RECORD> 
    <FIELD ID="1" xsi:type="CharFixed" LENGTH="3" /> 
    <FIELD ID="2" xsi:type="CharFixed" LENGTH="MAXLENGTH" /> 
    <FIELD ID="3" xsi:type="CharFixed" LENGTH="10" /> 
    <FIELD ID="4" xsi:type="CharFixed" LENGTH="8" /> 

</RECORD> 
<ROW> 
    <COLUMN SOURCE="1" NAME="Field1" xsi:type="SQLNVARCHAR"/> 
    <COLUMN SOURCE="2" NAME="Field2" xsi:type="SQLNVARCHAR"/> 
    <COLUMN SOURCE="3" NAME="Field3" xsi:type="SQLNVARCHAR"/> 
    <COLUMN SOURCE="4" NAME="Field4" xsi:type="SQLNVARCHAR"/> 
</ROW> 
</BCPFORMAT> 

Aber 'MAXLENGTH' scheint nicht zu funktionieren.

Fehlermeldung:

bad value MAXLENGTH for attribute "LENGTH" 

Vorschläge, wie die Länge auf maximal setzen?

+0

Versuchen Sie, in ein 'varchar (max)' Feld zu importieren? Wäre es einfacher, zu einer Textdatei zu wechseln, die sich nicht um die Breite kümmert? – ajeh

+0

Hallo, ist diese Frage gelöst? Brauchen Sie weitere Hilfe? – Shnugo

Antwort

0

Die Länge eines Strings ist auf 4000 (nchar) oder 8000 (char) beschränkt. Es gibt keine max length -konstant - Darauf,

Siehe this, "Field Attributes"

Wenn Sie das Schema Meta-Daten nachschlagen wie SQL Server tut, Sie diesem Link folgen können

http://schemas.microsoft.com/sqlserver/2004/bulkload/format/bulkloadschema.xsd

um dieses zu finden

<xsd:attribute name="LENGTH" type="xsd:positiveInteger" use="required"/> 
[...] 
<xsd:attribute name="MAX_LENGTH" type="xsd:positiveInteger" use="optional"/> 

So t er length ist required während max_length scheint optional zu sein, aber wenn Sie es angeben, muss es eine positive ganze Zahl sein.