0

エラーが発生しましたが、コードの何が問題なのかわかりません。オブジェクトを作成しようとすると発生します (objbl = CreateObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0"))。

何か不足していますか?

Try
            objbl = CreateObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0") // error happens on this line.
            objbl.ConnectionString = ReadVariables("ConnectionString")

            Console.WriteLine(objbl.connectionstring.ToString)

            objbl.ErrorLogFile = workingdirectory & "\error.log"
            objbl.TempFilePath = workingdirectory & "" 'workingdirectory
            objbl.CheckConstraints = True
            objbl.KeepIdentity = False
            objbl.Transaction = True

            'objbl()

        Catch ex As System.Exception
            Console.WriteLine("Error initializing SQL Bulk load object." & Chr(13) & Chr(10) & ex.ToString)
            WritetxtToLog("Error initializing SQL Bulk load object." & Chr(13) & Chr(10) & ex.ToString, 1)
            Exit Sub
        End Try

例外エラーは次のとおりです。

System.Exception がキャッチされました Message="ActiveX コンポーネントを作成できません。" Source="Microsoft.VisualBasic" StackTrace: C:\ShredApp\XMLshredapp\XMLShredApp.vb の XMLshredapp.XMLShredApp.InitBulkLoad() で Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String ServerName) で:460 行目 InnerException:

4

1 に答える 1

0

「ActiveX でオブジェクトを作成できません」というエラーは、通常、CreateObject に指定した ProgID が不明であることを意味します。

つまり、ProgID (SQLXMLBulkLoad.SQLXMLBulkload.4.0) のタイプが間違っているか、レジストリに登録されていない DLL に属している場合に、このエラーが発生します。

このアプリケーションを実行しているマシンのレジストリを検索して、SQLXMLBulkLoad がレジストリに存在するかどうかを確認できますか? そうでない場合は、その DLL を見つけて登録する必要があります ( regsvr32を使用) 。

于 2012-10-09T18:46:39.980 に答える