您目前已離線,請等候您的網際網路重新連線

資訊:"選擇性功能未實作 」 錯誤訊息

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:214459
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
結論
當使用 ActiveX 資料物件 (ADO) 將參數傳遞至預存程序可能會收到下列錯誤:
執行階段錯誤 '2147217887 (80040e21)':
[Microsoft][ODBC SQL Server 驅動程式]選擇性功能未實作。
其他相關資訊
如果您嘗試設定參數的 TYPE ADODB 命令物件的參數集合的資料提供者不支援的型別中,就可能會發生這個錯誤。

例如使用 SQL Server 7.0 建立 PUBS 資料庫上預存程序:
   CREATE PROCEDURE GetEmployeeInfo (@thedate datetime, @NumEmployees int output)AS        SELECT @NumEmployees =  count(*) FROM EMPLOYEE WHERE hire_date < @thedate   GO				
此預存程序傳回輸出參數型別為 int 指出特定日期之前僱用的員工數目。日期會傳遞至預存程序做為參數,並員工人數傳遞給呼叫程式作為輸出參數。

現在建立 ADO 應用程式使用預存程序。提供該範例會寫入在 Visual Basic 中。
Private Sub MySubroutine()Dim dbConnection As ADODB.ConnectionDim dbCommand As ADODB.CommandSet dbConnection = New ADODB.ConnectionSet dbCommand = New ADODB.CommandDim DSNNAME As StringDim USERNAME As StringDim PASSWORD As StringDSNNAME = "Pubs"USERNAME = "sa"PASSWORD = ""dbConnection.Open DSNNAME, USERNAME, PASSWORDdbCommand.ActiveConnection = dbConnectionDim TheDate As DateTheDate = NowdbCommand.CommandText = "GetEmployeeInfo"dbCommand.CommandType = adCmdStoredProcdbCommand.Parameters.Append dbCommand.CreateParameter("@thedate", adDBDate, adParamInput, 0, TheDate)dbCommand.Parameters.Append dbCommand.CreateParameter("@NumEmployees", adInteger, adParamOutput, 0)dbCommand.ExecuteDim strTheString As StringstrTheString = "There are " & dbCommand.Parameters("@numemployees") & " employees who were hired before " & TheDateMsgBox strTheString, vbOKOnly, "Demonstration"End Sub				
執行範例程式碼時它會提供這項錯誤:
執行階段錯誤 '2147217887 (80040e21)':
[Microsoft][ODBC SQL Server 驅動程式]選擇性功能未實作。
這是因為 SQL Server 並不支援 adDBDate 資料型別。若要更正此問題,變更 adDBTimeStamp @ theDate 參數的資料型別。

若要決定數字]、 [名稱]、 [類型,] 和 [預存程序中所需要的參數大小,使用 [Parameters.Refresh 方法的命令物件]。您可以在開發應用程式決定正確的需求為預存程序的期間呼叫這個方法,然後移除對 Parameters.Refresh 昂貴的呼叫之後您已經收集到必要的資料。
資料庫

警告:本文為自動翻譯

內容

文章識別碼:214459 - 最後檢閱時間:08/23/2001 09:52:00 - 修訂: 1.0

Microsoft ActiveX Data Objects 2.0, Microsoft ActiveX Data Objects 2.1 Service Pack 2, Microsoft ActiveX Data Objects 2.5, Microsoft ActiveX Data Objects 2.6, Microsoft ActiveX Data Objects 2.7

  • kbmt kbinfo kbstoredproc KB214459 KbMtzh
意見反應