我試圖從運行在SQL Server 2005上的查詢中將varbinary輸出值檢索到經典ASP中。當涉及到部分簡單地將varbinary輸出轉換爲字符串的代碼時,ASP執行失敗。所以我想我們必須以其他方式處理它。從sql server中的查詢檢索varbinary輸出到經典ASP
實際上,我試圖爲數據庫連接設置(sp_setapprole)和取消設置(sp_unsetapprole)應用程序角色。首先我會設置批准,然後運行我所需的查詢並最終取消批准。在unsetting期間,當我需要在我的ASP代碼中的cookie(varbinary)值時,我可以創建一個查詢,如'exec sp_unsetapprole @cookie'。那麼在這個階段,我沒有cookie(varbinary)的值。
我這樣做的原因是我嘗試設置應用程序角色時,出現'sp_setapprole未被正確調用'的錯誤。我已通過在連接字符串中追加'OLE DB Services = -2; Pooling = False'來禁用池化。
我知道共享池有助於提高性能,但在這裏我遇到了很大的問題。
請幫我出來檢索一個經典的ASP文件varbinary值或建議一種方法來設置&未設置的應用程序角色。無論哪種方式解決方案是讚賞。
感謝, Nandagopal
我也試過這個選項,但是當我從Command對象執行查詢時遇到了這個問題。 EXEC sp_executesql的N'EXEC sp_unsetapprole @ P1」,N '@ P1 VARBINARY(36)',0x01000000CD11697F8F0ED362A471B0B05D0F47B9BDBBC423A1869EA4E510CD9F29230000 而這個消息15422導致 ,級別16,狀態1,過程sp_unsetapprole,第18行 應用角色只能被激活在特設一級。 如果它是其他任何查詢,它會工作,但作爲sp_unsetapprole我不得不直接運行此查詢到數據庫。 – user303526 2010-03-28 15:35:47
應該仍然可以:MSDN聲明「sp_setapprole存儲過程只能通過直接的Transact-SQL語句執行;它不能在另一個存儲過程或用戶定義的事務中執行」。你有沒有嘗試過這種交易?你也可以嘗試改變命令類型。最後,查看SQL Profiler以查明ADO生成的數據庫調用。 – tijmenvdk 2010-03-28 21:22:45