我想大家现在都在研究分布式吧,但是你遇到这样的英文提示了吗? Multiple-step OLE DB operation generated errors 什么意思 ?、谢谢,小弟非常着急,因为工程要交工,一饭碗求 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 發生的原因這個錯誤可能有二個原因: • 登錄中,OLE DB 提供者之 CLSID 的機碼下,可能有命名為 OLEDB_SERVICES 的項目,如果使用 OLE DB 提供者與沒有 OLEDB_SERVICES 項目的 ADO 連線,且 ADO 試著設定提供者不支援的屬性,就會發生這個錯誤。如需此登錄項目的詳細資訊,請參閱〈解決方案〉一節。 • 如果有 OLEDB_SERVICES 項目,但 ADO 連線字串有問題,就會發生這個錯誤。 如果 OLEDB_SERVICES 登錄項目不存在,設定屬性的呼叫就會直接呼叫提供者。如果提供者不支援該屬性,ADO 執行的 SetProperties OLE DB 呼叫就會失敗。如果連線時需要此屬性就會發生嚴重錯誤。如果連線字串明確包括此屬性,連線時就需要此屬性。 如果屬性設定是選擇性的,就不會發生嚴重錯誤。這就是當沒有明確設定連線字串中的屬性而進行連線時會發生的狀況。這時,ADO 會將屬性設定為 True 但標示為選擇性。 解決方案您可以使用下列方法解決這個問題: • ADO 連線字串不要使用「Persist Security Info」關鍵字。 • 增加下列 OLEDB_SERVICES 登錄項目: 重要:本文包含編輯登錄的資訊。在編輯系統登錄之前,請確定萬一發生問題時,您知道如何復原系統登錄。如需還原作業的相關資訊,請參閱 Regedit.exe 中的〈還原登錄〉說明主題,或 Regedt32.exe 中的〈還原登錄機碼〉說明主題。1. 啟動登錄編輯器 (Regedit.exe)。 2. 在 HKEY_CLASSES_ROOT\CLSID 下的登錄找出 OLE DB 提供者的 CLSID。例如,下列是 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 的登錄機碼: HKEY_CLASSES_ROOT\CLSID\{0C7FF16C-38E3-11d0-97AB-00C04FC2AD98} 按一下 CLSID,然後在 [編輯] 功能表按一下 [新增值],然後新增下列登錄值: 值的名稱:OLEDB_SERVICES 資料類型:REG_DWORD 值: 0xFFFFFFFF 注意 :如果要找出您使用之提供者的 CLSID,請在 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ 登錄下搜尋提供者的 ProgID (例如,SQLOLEDB)。在 ProgID 下會有命名為 CLSID 的機碼。 • 如果滿足上述條件之後仍收到錯誤,請檢查連線字串是否有其他錯誤。 请问如何让自己做的程序能够自动适应不同大小及分辨率的屏幕呢? 各位帮帮忙:ADO连接数据库的问题?? 界面设计,畅所预言, delphi中文手册 rxPlacemnt.dcu找不到 初学delphi,怎样集中查看help中的functions? 看看代码,问题在哪里?? 请问那里有李维的DELPHI电子商务以及分布市应用书籍下载和配套原代码 使用TClientSocket的问题 delphi下访问加密的Access数据库的问题 orcale中求问计数问题 Multiple-step OLE DB operation generated errors 什么意思 ?、
這個錯誤可能有二個原因: • 登錄中,OLE DB 提供者之 CLSID 的機碼下,可能有命名為 OLEDB_SERVICES 的項目,如果使用 OLE DB 提供者與沒有 OLEDB_SERVICES 項目的 ADO 連線,且 ADO 試著設定提供者不支援的屬性,就會發生這個錯誤。如需此登錄項目的詳細資訊,請參閱〈解決方案〉一節。
• 如果有 OLEDB_SERVICES 項目,但 ADO 連線字串有問題,就會發生這個錯誤。
如果 OLEDB_SERVICES 登錄項目不存在,設定屬性的呼叫就會直接呼叫提供者。如果提供者不支援該屬性,ADO 執行的 SetProperties OLE DB 呼叫就會失敗。如果連線時需要此屬性就會發生嚴重錯誤。如果連線字串明確包括此屬性,連線時就需要此屬性。 如果屬性設定是選擇性的,就不會發生嚴重錯誤。這就是當沒有明確設定連線字串中的屬性而進行連線時會發生的狀況。這時,ADO 會將屬性設定為 True 但標示為選擇性。
解決方案
您可以使用下列方法解決這個問題: • ADO 連線字串不要使用「Persist Security Info」關鍵字。
• 增加下列 OLEDB_SERVICES 登錄項目: 重要:本文包含編輯登錄的資訊。在編輯系統登錄之前,請確定萬一發生問題時,您知道如何復原系統登錄。如需還原作業的相關資訊,請參閱 Regedit.exe 中的〈還原登錄〉說明主題,或 Regedt32.exe 中的〈還原登錄機碼〉說明主題。1. 啟動登錄編輯器 (Regedit.exe)。
2. 在 HKEY_CLASSES_ROOT\CLSID 下的登錄找出 OLE DB 提供者的 CLSID。例如,下列是 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 的登錄機碼:
HKEY_CLASSES_ROOT\CLSID\{0C7FF16C-38E3-11d0-97AB-00C04FC2AD98}
按一下 CLSID,然後在 [編輯] 功能表按一下 [新增值],然後新增下列登錄值:
值的名稱:OLEDB_SERVICES
資料類型:REG_DWORD
值: 0xFFFFFFFF 注意 :如果要找出您使用之提供者的 CLSID,請在 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ 登錄下搜尋提供者的 ProgID (例如,SQLOLEDB)。在 ProgID 下會有命名為 CLSID 的機碼。
• 如果滿足上述條件之後仍收到錯誤,請檢查連線字串是否有其他錯誤。