2011-06-22 15 views
0

アプリケーションをローカルマシンからWebサーバーに移動するときにエラーが発生しました。 (私は私のローカルホスト上のエラーを取得していない)WebサーバーにASP.NETアプリケーションを展開する際の問題

例外をスローするコードを以下にリストされている:

Dim sSQL As String 
Dim strXSLFile As String 
sSQL = "<?xml version=""1.0"" ?>" 
sSQL += "<ROOT xmlns:sql=""urn:schemas-microsoft-com:xml-sql"">" 
sSQL += "<sql:header>" 
sSQL += "<sql:param name='uid'/>" 
sSQL += "<sql:param name='pwd'/>" 
sSQL += "</sql:header>" 
sSQL += "<SESSION>" 
sSQL += "<LANG>" & lang & "</LANG>" 
sSQL += "<SSN>" & Session.SessionID & "</SSN>" 
sSQL += "</SESSION>" 

sSQL += "<sql:query>exec objSession_login @uid,@pwd</sql:query>" 
sSQL += "</ROOT>" 

Dim myxml As New XmlDocument 
Try 
    Using conn As SqlConnection = CustomClass.Data.SqlConnectionProvider.Create() 
     Dim cmd As SqlXmlCommand 
     cmd = New SqlXmlCommand(conn.ConnectionString & ";Provider=SQLOLEDB.1;") 
     cmd.CommandType = SqlXmlCommandType.Template 
     cmd.CommandText = sSQL 
     Dim paramUid As SqlXmlParameter = cmd.CreateParameter() 
     paramUid.Name = "@uid" 
     paramUid.Value = username 
     Dim paramPwd As SqlXmlParameter = cmd.CreateParameter() 
     paramPwd.Name = "@pwd" 
     paramPwd.Value = password 
     Dim oXR As XmlReader = cmd.ExecuteXmlReader() ' Problem is here 
     myxml.Load(oXR) 
    End Using 

    strXSLFile = "xsl/Dialogue.login.xsl" 
    Dim mytransform As New XslTransform 
    Dim myreader As XmlReader 
    Dim myresolver As XmlResolver 

    Dim xpDoc As New XPathDocument(New XmlNodeReader(myxml)) 

    mytransform.Load(Current.Request.PhysicalApplicationPath & strXSLFile) 
    myreader = mytransform.Transform(xpDoc, Nothing, myresolver) 

    myxml.Load(myreader) 
    mytransform = Nothing 
    myreader = Nothing 
    myresolver = Nothing 
    xpDoc = Nothing 

    xmlloaddoc = myxml 

Catch ex As Exception 
    LogWriter.CriticalError(ex, "User Login - Exception Thrown: " & ex.Message) 
    Err.Raise(Number:=Err.Number, Description:=ex.StackTrace) 
End Try 

例外をスローして、特定の行は、次のとおりです。XmlReaderを= CMDとして薄暗いOXR

例外#1:

.ExecuteXmlReader()

ログ情報は、以下の例外を明らかにしました

ユーザーログイン - 例外スロー:SQLOLEDBまたはSQLNCLIをデータプロバイダーとして指定する必要があります。 " Microsoft.Data.SqlXml.SqlXmlException:SQLOLEDBまたはSQLNCLIをデータプロバイダーとして指定する必要があります。 ---> System.Runtime.InteropServices.COMException:SQLOLEDBまたはSQLNCLIをデータプロバイダーとして指定する必要があります。 Microsoft.Data.SqlXml.Common.UnsafeNativeMethods.ISQLXMLCommandManagedInterface.ExecuteToOutputStream()、Microsoft.Data.SqlXml.SqlXmlCommand.innerExecute(ストリームstrm)---内部例外スタックトレースの終了--- Microsoft.Data.SqlXml.SqlXmlCommand

「ユーザー:dialogue.login.UserLogin(文字列名、文字列のパスワード、文字列のlang)

例外#2でMicrosoft.Data.SqlXml.SqlXmlCommand.ExecuteXmlReaderで.ExecuteStream()()ログイン - 例外がスローされました:HRESULTからの例外:0x80040E14 " Microsoft.Data.SqlXml.SqlXmlException:HRESULTからの例外:0x80040E14 ---> System.Runtime.InteropServices.COMException :Microsoft.Data.SqlXml.Common.UnsafeNativeMethods.ISQLXMLCommandManagedInterface.ExecuteToOutputStream()、Microsoft.Data.SqlXml.SqlXmlCommand.innerExecute(ストリームstrm)でのHRESULT:0x80040E14からの例外---内部例外スタックトレースの終了--- Microsoft dialogue.login.UserLogin(文字列名、文字列のパスワード、文字列のlang)

でMicrosoft.Data.SqlXml.SqlXmlCommand.ExecuteXmlReaderで.Data.SqlXml.SqlXmlCommand.ExecuteStream()()例外の最初であります私のプロバイダとしてSQLOLEDB.1を使用して最初に発生したエラーで、私は別のプロバイダで遊び始め、2番目の2番目の例外がありました。

アイデア?

答えて

1

この問題は、私のマシンにMSXML 6.0がインストールされていて、サーバーにインストールされていないことに起因していました。 MSXML 6.0をサーバーにインストールすると、この問題は解決しました。

0

ターゲットマシンにSQLOLEDBプロバイダがインストールされていますか?それが起きていることを確認して、もう一度やり直してください

+0

はい、私たちのサーバーに現在インストールされており、私たちはIIS6.0を使用しています。問題は残っています。 – Brandon

関連する問題