Dlaczego otrzymuję dostawcę danych lub inną usługę zwracającą status E_FAIL? Klient macierzysty SQL

Zmieniam nasz kod ASP, aby korzystać z SQL Native Client, abyśmy mogli połączyć się z lustrzaną bazą danych za pomocą partnera pracy awaryjnej, ponieważ można dostarczyć tylko parametry partnera pracy awaryjnej w SQL Native Client. Kiedy uruchamiam proc, który zwraca kolumnę nvarchar (max) z Driver = {SQL Server}, wszystko działa dobrze. Kiedy uruchamiam procy, które zwracają małe colums z Driver = {SQL Server Native Client 10.0}, to działa dobrze. Jest to tylko wtedy, gdy próbuję uruchomić proc, który zwraca kolumnę nvarchar (max) podczas używania Driver = {SQL Server Native Client 10.0}; że dostałem błąd. Błąd występuje natychmiast po trafieniu

<code>rs.Open cmdTemplate
</code>

Więc nawet nie mówię o kolumnie. Ustawianie ciągu połączenia w następujący sposób:

<code>if bUseSQLNative then
        connString = "Driver={SQL Server Native Client 10.0}; Network=DBMSSOCN; server=" & rs("SERVER_NAME") & "," & rs("PORT_NUM") & ";database=" & rs("DATABASE_NAME")
        connString = connString & ";uid=" & rs("USER_NAME") & ";pwd=" & UnProtectValueEx(ConnSaltForDBPwd(), rs("CONNECTION_NAME"), rs("PASSWORD"))
    else
        connString = "Driver={SQL Server}; Network=DBMSSOCN; server=" & rs("SERVER_NAME") & "," & rs("PORT_NUM") & ";database=" & rs("DATABASE_NAME")
        connString = connString & ";uid=" & rs("USER_NAME") & ";password=" & UnProtectValueEx(ConnSaltForDBPwd(), rs("CONNECTION_NAME"), rs("PASSWORD"))
    end if 
    connString = connString & ";"
</code>

I otwieranie w ten sposób:

<code>set rs = server.CreateObject("ADODB.RecordSet")
rs.CursorLocation = 3
rs.CursorType = 3
rs.CacheSize = 50

on error resume next
    rs.Open cmdTemplate
</code>

Błąd jest następujący: Silnik kursora Microsoft (0x800A0001) Dostawca danych lub inna usługa zwróciła status E_FAIL.

questionAnswers(3)

yourAnswerToTheQuestion