Почему я получаю, что провайдер данных или другой сервис вернули статус E_FAIL? Собственный клиент SQL
Я переключаю наш ASP-код на использование собственного клиента SQL, чтобы мы могли подключаться к зеркальной базе данных с партнером по отказоустойчивости, поскольку параметры партнера по отказоустойчивости можно указать только в собственном клиенте SQL. Когда я запускаю процесс, который возвращает столбец nvarchar (max) с Driver = {SQL Server}, все работает нормально. Когда я запускаю проки, которые возвращают маленькие столбцы с Driver = {SQL Server Native Client 10.0}, это прекрасно работает. Это только когда я пытаюсь запустить процедуру, которая возвращает столбец nvarchar (max) при использовании Driver = {SQL Server Native Client 10.0}; что я получаю ошибку. Ошибка происходит, как только мы нажмем
<code>rs.Open cmdTemplate </code>
Так что я даже не ссылаюсь на столбец. Установка строки conn так:
<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>
И открытие так:
<code>set rs = server.CreateObject("ADODB.RecordSet") rs.CursorLocation = 3 rs.CursorType = 3 rs.CacheSize = 50 on error resume next rs.Open cmdTemplate </code>
Ошибка: Microsoft Cursor Engine (0x800A0001) Поставщик данных или другой сервис вернул статус E_FAIL.