Microsoft OLE DB 的數據成形服務概觀
重要
此功能將在未來的 Windows 版本中移除。 請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 相反地,應用程式應該使用 XML。
OLE DB 服務提供者的 Microsoft 數據成形服務支援從數據提供者建構階層式(結構化的)Recordset 物件。
提供者關鍵詞
若要叫用 OLE DB 的數據成形服務,請在連接字串中指定下列關鍵詞和值。
"Provider=MSDataShape"
動態屬性
叫用此服務提供者時,會將下列動態屬性新增至 Connection 物件的 Properties 集合。
動態屬性名稱 | 描述 |
---|---|
唯一的重新塑造名稱 | 指出是否允許 Recordset 其 Reshape Name 屬性具有重複值的物件。 如果這個動態屬性是 True,並且使用與現有的 Recordset相同的使用者指定重新調整名稱建立新的 Recordset,則新的 Recordset 物件的重新調整名稱會被修改,以確保其唯一性。 如果這個屬性是 False,並且使用與現有 Recordset相同的使用者指定重設名稱來建立新的 Recordset,那麼兩個 Recordset 物件都會有相同的重設名稱。 因此,只要這兩個記錄集存在,Recordset 都無法重新調整。 屬性的預設值 False。 |
資料提供者 | 表示提供要成形之數據列的提供者名稱。 如果提供者不會用來提供數據列,這個值可以是NONE。 |
您也可以在連接字串中將其名稱指定為關鍵詞,以設定可寫入的動態屬性。 例如,在 Microsoft Visual Basic 中,藉由指定下列命令,將 Data Provider 動態屬性設定為 “MSDASQL” :
Dim cn as New ADODB.Connection
cn.Open "Provider=MSDataShape;Data Provider=MSDASQL"
您也可以將動態屬性的名稱指定為 Properties 屬性的索引,來設定或擷取動態屬性。 例如,下列程式代碼範例會取得並列印 數據提供者 動態屬性的目前值,然後設定 cn 的新值。DataProvider 已設定為 「MSDataShape」 (直接或間接透過連接字串),且尚未開啟連線:
Debug.Print cn.Properties("Data Provider")
cn.Properties("Data Provider") = "MSDASQL"
注意
動態屬性 Data Provider,只能在未開啟的 Connection 物件上設定。 開啟連線之後,數據提供者 屬性會變成唯讀。
如需資料成形的詳細資訊,請參閱 資料成形。