フェールオーバー パートナーのパラメーターは SQL Native Client でのみ指定できるため、フェールオーバー パートナーを使用してミラーリングされたデータベースに接続できるように、ASP コードを SQL Native Client を使用するように切り替えています。Driver={SQL Server} で nvarchar(max) 列を返す proc を実行すると、すべて正常に動作します。Driver={SQL Server Native Client 10.0} で小さな列を返す proc を実行すると、正常に動作します。Driver={SQL Server Native Client 10.0}; の使用中に nvarchar(max) 列を返す proc を実行しようとした場合のみです。エラーが発生すること。ヒットするとすぐにエラーが発生します
rs.Open cmdTemplate
だから私はコラムを参照していません。conn 文字列を次のように設定します。
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 & ";"
そして、次のように開きます。
set rs = server.CreateObject("ADODB.RecordSet")
rs.CursorLocation = 3
rs.CursorType = 3
rs.CacheSize = 50
on error resume next
rs.Open cmdTemplate
エラー: Microsoft Cursor Engine (0x800A0001) データ プロバイダーまたは他のサービスが E_FAIL ステータスを返しました。