Groups | Blog | Home
all groups > sql server (alternate) > february 2007 >

sql server (alternate) : SQL 2005 AND SQLXMLBulkLoad


rrowles2000
2/19/2007 4:02:42 PM
Hi, Am I right in saying that by default, an element of complex type
in an XSD annotated schema maps to the table with the same name in the
specified database. If so does anyone have any idea why my app runs
with no errors, but doesn't add anything to the table in the DB. I was
hoping to find the value 'GDS-2392265' in the table.

Any Ideas?
Thanks in advance.
Rich


vb.net code
-----------------

Dim objBL
objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
objBL.ConnectionString = "provider=SQLOLEDB.1;data source=xxx
\SQLEXPRESS;database=xxx;uid=sa;pwd=xxxxx"
objBL.ErrorLogFile = "c:\error.log"
objBL.KeepIdentity = False
objBL.Execute("c:\SCHEMA.XML", "c:\INPUT.XML")
objBL = Nothing

Me.Enabled = True


DB Table Def
-------------------

CREATE TABLE [dbo].[FeatureCollection](
[fid] [nchar](20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]


Schema File
------------------

<?xml version="1.0" ?>
<xsd:schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema"
xmlns:osgb="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<xsd:element name="FeatureCollection">
<xsd:complexType>
<xsd:attribute name="fid" type="xsd:string"/>
</xsd:complexType>
</xsd:element>

</xsd:schema>


XML File
------------

<?xml version='1.0' encoding='UTF-8'?>
<osgb:FeatureCollection
xmlns:osgb='http://www.ordnancesurvey.co.uk/xml/namespaces/osgb'
xmlns:gml='http://www.opengis.net/gml'
xmlns:xlink='http://www.w3.org/1999/xlink'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://www.ordnancesurvey.co.uk/xml/namespaces/
osgb http://www.ordnancesurvey.co.uk/xml/schema/v5/OSDNFFeatures.xsd'
fid='GDS-2392265'>
</osgb:FeatureCollection>
Standards Guy
2/20/2007 2:15:33 PM
[quoted text, click to view]

Hi -

Got this information from a GML guru. Not sure if it helps, but
perhaps worth a try:

Looks like the SQLXMLBulkLoad utility only wants to load the
"default"
namespace (i.e. no prefix). So, simply make GML the the default
namespace:

<MyFeatureCollection xmlns="http://www.opengis.org/gml" ... >
....
</MyFeatureCollection>

This way any "unqualified" elements are assumed to be in the gml
namespace and, presumably, SQLXMLBulkLoad would load the data.

Regards

Carl
AddThis Social Bookmark Button