Bonjour
Pour l'importation d'un document XML dans une table SQL server 2005 j'ai utilisé la fonction
SqlBulkCopy, alors qu'une valeur NULL dans le champ DateFin (Voir ligne 26 document XML ) a levé une exception

L'exception System.InvalidOperationException n'a pas été gérée par le code utilisateur
The given value of type String from the data source cannot be converted to type datetime of the specified target column.
Question
1/ comment je doit faire pour convertir les valeurs NULL du document xml en valeurs DBNull
ou une autre valeur par défaut par exemple #01/01/2012# ou Now().

code source pour l'importation

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 
 Sub ImportToSql()
 
        Dim XmlExportData As DataSet = New DataSet()
        Dim ConnectionStringSettings As String = "My Connection String"
 
        XmlExportData.ReadXml(Server.MapPath("REQ_XmlExport.xml"))
 
        Using DestData As SqlBulkCopy = New SqlBulkCopy(ConnectionStringSettings)
 
            DestData.DestinationTableName = "tbCourseSession"
            DestData.ColumnMappings.Add("ID_Formation", "IdCourse")
            DestData.ColumnMappings.Add("TitreFormation", "CourseTitle")
            DestData.ColumnMappings.Add("DateDebut", "CourseFrom") ' type DateTime
            DestData.ColumnMappings.Add("DateFin", "CourseTo") ' type DateTime
            DestData.ColumnMappings.Add("IDTypeFormations", "CourseType")
            DestData.ColumnMappings.Add("NbrParticipant", "StudentNBR")
            DestData.ColumnMappings.Add("Prénom", "TrainingContactName")
            DestData.ColumnMappings.Add("AdresseemailOrganisme", "TrainingContactMail")
            DestData.ColumnMappings.Add("TelephoneOrganisme", "TrainingTel1")
            DestData.ColumnMappings.Add("FaxOrganisme", "TrainingTel2")
            DestData.ColumnMappings.Add("AdresseOrganisme", "TrainingAdress")
            DestData.ColumnMappings.Add("Pays", "TrainingCuntry")
 
            DestData.WriteToServer(XmlExportData.Tables(0))
 
        End Using
 
    End Sub
Document XML à importer

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<WMY_TABLE>
  <REQ_ROW>
    <IDEntetFP>2</IDEntetFP>
    <ID_Formation>1</ID_Formation>
    <TitreFormation>DCS CS 300/Prosafe PLC</TitreFormation>
    <DateDebut>27/11/2005</DateDebut>
    <DateFin>28/11/2005</DateFin>
    <IDTypeFormations>AF</IDTypeFormations>
    <NbrParticipant>1</NbrParticipant>
    <NomOrganisme>YOKOGAWA</NomOrganisme>
    <Nom>Ranier</Nom>
    <Prénom>Claude</Prénom>
    <AdresseemailOrganisme></AdresseemailOrganisme>
    <TelephoneOrganisme>00331 39 26 11 18</TelephoneOrganisme>
    <FaxOrganisme>NULL</FaxOrganisme>
    <AdresseOrganisme>NULL</AdresseOrganisme>
    <Pays>Inconnu</Pays>
  </REQ_ROW>
  <REQ_ROW>
    <IDEntetFP>3</IDEntetFP>
    <ID_Formation>3</ID_Formation>
    <TitreFormation>Gas Conditioning &amp; processing</TitreFormation>
    <DateDebut>17/09/2005</DateDebut>
    <DateFin>NULL</DateFin>
    <IDTypeFormations>AF</IDTypeFormations>
    <NbrParticipant>7</NbrParticipant>
    <NomOrganisme>FALCK NUTEC AS</NomOrganisme>
    <Nom>Sivertsen</Nom>
    <Prénom>Olav</Prénom>
    <AdresseemailOrganisme>olav.sivertsen@flacknutec.no</AdresseemailOrganisme>
    <TelephoneOrganisme>+47 55 94 20 22</TelephoneOrganisme>
    <FaxOrganisme></FaxOrganisme>
    <AdresseOrganisme>Gravdalsveien 255, Postboks6, Ytre Lakevag, 5848 Bergen (Norway)</AdresseOrganisme>
    <Pays>Norvège</Pays>
  </REQ_ROW>
  <REQ_ROW>
</WMY_TABLE>
Merci d'avance