使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

徵兆

如果您透過 ODBC 驅動程式在連結伺服器上執行遠端儲存程式並執行輸出參數,SQL Server,ODBC 驅動程式就無法擷取輸出參數,而且您可能會收到下列錯誤訊息:


[Microsoft][ODBC SQL Server驅動程式]限制資料類型屬性違規

解決方案

Microsoft 提供支援的 Hotfix。 不過,此 Hotfix 僅是為了修正本文所述的問題。 僅將此 Hotfix 套用至發生此特定問題的系統。 這個 Hotfix 可能會收到額外的測試。 因此,如果您未受到此問題嚴重影響,建議您等待下一次包含此 Hotfix 的軟體更新。

如果 hotfix 可供下載,則此知識庫文章頂端有「Hotfix 下載可用」一節。 如果沒有出現此區段,請連絡 Microsoft 客戶服務及支援以取得 Hotfix。

注意 如果發生其他問題或需要進行任何疑難排解,您可能需要建立個別的服務要求。 一般支援費用將適用于其他不符合此特定 Hotfix 資格的支援問題。 如需 Microsoft 客戶服務和支援電話號碼的完整清單,或是建立個別的服務要求,請流覽下列 Microsoft 網站:

HTTP://support.microsoft.com/contactus/?ws=support注意:[Hotfix 下載可用] 表單會顯示可供使用 Hotfix 的語言。 如果您沒有看到您的語言,這是因為該語言無法使用 hotfix。

' The english version of this hotfix has the file attributes (or later) that are listed in the table. 這些檔案的日期和時間會以協調的通用時間列 (UTC) 。 當您檢視檔案資訊時,它會轉換成當地時間。 若要尋找 UTC 和當地時間之間的差異,請使用 主控台 中 [日期及時間] 工具中的 [時區] 索引標籤。

MDAC 2.7 Service Pack 1

            
   Date         Time   Version          Size     File name
   ----------------------------------------------------------
   12-Nov-2002  02:42  2000.81.9031.12   24,576  Odbcbcp.dll
   12-Nov-2002  02:41  2000.81.9031.12  385,024  Sqlsrv32.dll

MDAC 2.8

            
   Date         Time   Version         Size     File name
   ---------------------------------------------------------
   15-Jun-2004  00:22  2000.85.1045.0   28,672  Dbnmpntw.dll
   15-Jun-2004  00:21  2.80.1045.0     147,456  Msadds.dll
   15-Jun-2004  00:21  2.80.1045.0     512,000  Msado15.dll
   15-Jun-2004  00:21  2.80.1045.0     163,840  Msadomd.dll
   15-Jun-2004  00:21  2.80.1045.0     184,320  Msadox.dll
   15-Jun-2004  00:21  2.80.1045.0      53,248  Msadrh15.dll
   15-Jun-2004  00:21  2.80.1045.0     225,280  Msdaora.dll
   15-Jun-2004  00:21  2.80.1045.0     147,456  Msdart.dll
   15-Jun-2004  00:21  2.575.1045.0    139,264  Msorcl32.dll
   15-Jun-2004  00:21  3.525.1045.0    221,184  Odbc32.dll
   15-Jun-2004  00:22  2000.85.1045.0   24,576  Odbcbcp.dll
   15-Jun-2004  00:21  2.80.1045.0     442,368  Oledb32.dll
   15-Jun-2004  00:21  2000.85.1045.0  503,808  Sqloledb.dll
   15-Jun-2004  00:21  2000.85.1045.0  401,408  Sqlsrv32.dll
   15-Jun-2004  00:08  2000.85.1045.0  208,896  Sqlxmlx.dll

注意 如需 MDAC 2.8 可用之所有 Hotfix 的清單,請按一下下列文章編號以檢視 Microsoft 知識庫中的文章:

839801修正:Hotfixes 適用于 MDAC 2.8
 

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

其他相關資訊

重現行為的步驟

  1. 使用下列程式碼在連結伺服器上使用輸出參數建立SQL Server儲存程式:

        USE pubs
        GO
    
        CREATE PROCEDURE dbo.sample_stored_procedure
            @op varchar(20) output
        AS
        set @op = 'demo string'
        return 0
        GO
    
    

    注意 如果預存程式傳回結果集,您不會收到列在 [症狀] 區段中的錯誤訊息。

  2. 下列 Microsoft Visual Basic 應用程式範例程式碼會存取連結伺服器上的遠端儲存程式。 在下列程式碼範例中,srv1
    srv2是執行SQL Server的兩個伺服器,而您是在 srv1 上將 srv2 建立為連結伺服器。

        Dim cn As new ADODB.Connection
        Dim cmd As new ADODB.Command
        Dim prm As ADODB.Parameter
    
        cn.Open "Driver={SQL Server};Server=srv1;UID=sa;PWD=sa_password;"
    
        cmd.ActiveConnection = cn
    
        cmd.CommandType = adCmdStoredProc
        cmd.CommandText = "srv2.pubs.dbo.sample_stored_procedure"
    
        Set prm = cmd.CreateParameter("op", adVarChar, adParamOutput, 20)
        cmd.Parameters.Append prm
    
        cmd.Execute
        Debug.Print prm.Value
    
        cn.Close
    
        Set cn = Nothing
    

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×