Praca ze źródłami danych (DSO)
Ostrzeżenie
Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.
Kolekcje źródeł danych (czyli MDStore obiektów ClassType clsDataSource) są zawarte w MDStore obiektów ClassType clsDatabase, clsCube, i clsPartition.Każdy obiekt źródła danych określa zewnętrznej bazy danych, który będzie używany jako źródło danych.
Baza danych może zawierać wiele źródeł danych w jego DataSources kolekcja.Jednak każdy moduł i partycja zawiera tylko jedno źródło danych.
Dwa przykłady w tym temacie przedstawienie sposobu wyświetlania i dodać źródło danych w bazie danych DataSources kolekcja.
Wykaz źródeł danych
Najprostszym sposobem listy źródeł danych jest iterować przez DataSources kolekcja MDStore obiektu bazy danych, jak pokazano w poniższym przykładzie kodu, który zawiera Name i ConnectionString Właściwości każdego źródło danych dla każdej bazy danych na danym serwerze analizy.
Następujący kod przykład pętli poprzez DataSources kolekcja każdej bazy danych na serwerze lokalnym analizy niektórych podstawowych właściwości dla każdego źródło danych w okienku bezpośrednim drukowania:
Private Sub ListDataSources()
Dim dsoServer As New dso.Server
Dim dsoDB As dso.MDStore
Dim dsoDS As dso.DataSource
' Create a connection to the Analysis server.
dsoServer.Connect "LocalHost"
' Step through the databases in the
' MDStores collection of the server.
For Each dsoDB In dsoServer.MDStores
' Print the name & description of the database.
Debug.Print "DATABASE: " & dsoDB.Name & " - " & _
dsoDB.Description
' Determine whether the database has data sources.
If dsoDB.DataSources.Count = 0 Then
Debug.Print " Data source: None"
Else
' Iterate through and print the data source
' information.
For Each dsoDS In dsoDB.DataSources
Debug.Print " Data source: " & dsoDS.Name
Debug.Print " Valid?:" & dsoDS.IsValid
Next
End If
Next
End Sub
Dodaj źródło danych
Proces, aby dodać nowe źródło danych jest podobny do procesu dodawania nowej bazy danych.AddNew metoda DataSources kolekcja dla danej bazy danych tworzy nowe źródło danych dla bazy danych.
Poniższy przykład kodu dodaje źródło danych o nazwie FoodMart do TestDB obiektu bazy danych na serwerze lokalnym analizy:
Private Sub AddDataSource()
Dim dsoServer As New DSO.Server
Dim dsoDB As DSO.MDStore
Dim dsoDS As DSO.DataSource
Dim strDBName As String
Dim strDSName As String
Dim strDSConnect As String
' Initialize variables for the database name,
' data source name, and the ConnectionString property
' for the data source.
strDBName = "TestDB"
strDSName = "FoodMart"
strDSConnect = "Provider=SQLOLEDB.1;" & _
"Integrated Security=SSPI;" & _
"Persist Security Info=False;" & _
"Initial Catalog=FoodMart;" & _
"Data Source=FoodMartServer;" & _
"Connect Timeout=15"
' Create a connection to the Analysis server.
dsoServer.Connect "LocalHost"
' Locate the database first.
If dsoServer.MDStores.Find(strDBName) Then
Set dsoDB = dsoServer.MDStores(strDBName)
' Check to see whether the data source already exists.
If dsoDB.DataSources.Find(strDSName) Then
MsgBox "Data source " & strDSName & _
" already exists for database " & strDBName
Else
' Create a new data source.
Set dsoDS = dsoDB.DataSources.AddNew(strDSName)
' Add the ConnectionString properties
dsoDS.ConnectionString = strDSConnect
' Update the data source.
dsoDS.Update
' Inform the user
MsgBox "Data source " & strDSName & _
" has been added to database " & strDBName
End If
Else
MsgBox strDBName & " is missing."
End If
End Sub