剛剛接手SQL,目前在用sql2012,我用perl寫了個腳本,腳本編譯彈出如下錯誤:
Microsoft XML Bulkload for SQL Server: Error connecting to the data source.
附上部分代碼:
perl:
foreach $filebase ( @SQLXMLPhase1 )
{
local $xsdFilePathName = "${SOURCE}\\${filebase}.xsd";
$xsdFilePathName =~ s/\.\\//g;
print "DIR:",${SOURCE},"REGEXPR: ${filebase}[^\.]*\.xml\n";
opendir(DIR, "${SOURCE}") or print "ERROR: Cannot open ${SOURCE} for search\n";
local @allfiles = readdir(DIR);
closedir(DIR);
foreach $xmlfile (@allfiles) {
if ("${xmlfile}" =~ /${filebase}[^\.]*\.xml/i) {
local $filePathName = "${SOURCE}\\${xmlfile}";
$filePathName =~ s/\.\\//g;
system("cscript ${SOURCE}\\BulkLoad.wsf \"provider=SQLOLEDB.1;DATABASE=concorde;QuotedID=No;Trusted_Connection=Yes;SERVER=${SQLSERVER}\" ${xsdFilePathName} ${filePathName} >> ${OUTPUT}\\xmlBulkLoad.out");
}
}
}
bulkload.wsf:
<job id="ExecuteQuery">
<script language="JScript">
// set up the database connection string
var connectString = WScript.Arguments(0);
//var connectString = "default";
if (connectString == "default")
{
var networkObj = new ActiveXObject("Wscript.Network");
connectString = "provider=SQLOLEDB.1;DATABASE=concorde;QuotedID=No;Trusted_Connection=Yes;SERVER=" + networkObj.ComputerName + "\\MERCURYA0";
}
WScript.Echo("DB Connection String:\n" + connectString);
// create bulk loader
var x = new ActiveXObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0");
x.ConnectionString = connectString;
x.ErrorLogFile = "bulkLoadError.log";
x.IgnoreDuplicateKeys = "true";
WScript.Echo("Schema File:\n" + WScript.Arguments(1) + "\nData File:\n" + WScript.Arguments(2));
x.Execute(WScript.Arguments(1), WScript.Arguments(2)); // xsd, xml
</script>
</job>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/275606.html
標籤:疑難問題
上一篇:pgsql時間問題
