Progetti:CRCS-paper/Migrazione Utenti/Script

Da WikiSitech.
Vai alla navigazioneVai alla ricerca

Dim FileValid Dim ConnectionString

ConnectionString = "Provider=sqloledb;Server=DBDVLP;Database=CARICESE;User ID=paper-admin;password=X4LT27aL"

set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0") objBL.ConnectionString = ConnectionString objBL.ErrorLogFile = "error.log"

'Validate the data file prior to bulkload Dim sOutput sOutput = ValidateFile("utenti_caricese.xml", "", "mappingUtentiCARICESE.xml") WScript.Echo sOutput

If FileValid Then

  ' Check constraints and initiate transaction (if needed)
  ' objBL.CheckConstraints = True
  ' objBL.Transaction=True
  
 'Execute XML bulkload using file.
 objBL.Execute "mappingUtentiCARICESE.xml", "utenti_caricese.xml"
 set objBL=Nothing

End If

Function ValidateFile(strXmlFile,strUrn,strXsdFile)

  ' Create a schema cache and add SampleSchema.xml to it.
  Dim xs, fso, sAppPath
  Set fso = CreateObject("Scripting.FileSystemObject") 
  Set xs = CreateObject("MSXML2.XMLSchemaCache.6.0")
  sAppPath = fso.GetFolder(".") 
  xs.Add strUrn, sAppPath & "\" & strXsdFile
  ' Create an XML DOMDocument object.
  Dim xd 
  Set xd = CreateObject("MSXML2.DOMDocument.6.0")
  ' Assign the schema cache to the DOM document.
  ' schemas collection.
  Set xd.schemas = xs
  ' Load XML document as DOM document.
  xd.async = False
  xd.Load sAppPath & "\" & strXmlFile
  ' Return validation results in message to the user.
  If xd.parseError.errorCode <> 0 Then
       ValidateFile = "Validation failed on " & _
            strXmlFile & vbCrLf & _
            "=====================" & vbCrLf & _
            "Reason: " & xd.parseError.reason & _
            vbCrLf & "Source: " & _
            xd.parseError.srcText & _
            vbCrLf & "Line: " & _
            xd.parseError.Line & vbCrLf
            FileValid = False
   Else
       ValidateFile = "Validation succeeded for " & _
            strXmlFile & vbCrLf & _
            "======================" & _
            vbCrLf & "Contents to be bulkloaded" & vbCrLf
            FileValid = True
   End If

End Function