OleDbConnection.ConnectionString Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia ciąg używany do otwierania bazy danych.
public:
virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
[System.Data.DataSysDescription("OleDbConnection_ConnectionString")]
public string ConnectionString { get; set; }
public override string ConnectionString { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
[<System.Data.DataSysDescription("OleDbConnection_ConnectionString")>]
member this.ConnectionString : string with get, set
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String
Wartość właściwości
Dostawca OLE DB parametry połączenia, który zawiera nazwę źródła danych i inne parametry potrzebne do nawiązania połączenia początkowego. Wartością domyślną jest ciąg pusty.
Implementuje
- Atrybuty
Wyjątki
Podano nieprawidłowy argument parametry połączenia lub nie podano wymaganego argumentu parametry połączenia.
Przykłady
Poniższy przykład tworzy obiekt OleDbConnection i ustawia niektóre jego właściwości w parametry połączenia.
static void OpenConnection(string connectionString)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("ServerVersion: {0} \nDataSource: {1}",
connection.ServerVersion, connection.DataSource);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// The connection is automatically closed when the
// code exits the using block.
}
}
Public Sub OpenConnection(ByVal connectionString As String)
Using connection As New OleDbConnection(connectionString)
Try
connection.Open()
Console.WriteLine("Server Version: {0} DataSource: {1}", _
connection.ServerVersion, connection.DataSource)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
' The connection is automatically closed when the
' code exits the Using block.
End Using
End Sub
Uwagi
Element ConnectionString jest przeznaczony do dopasowania formatu OLE DB parametry połączenia możliwie jak najbliżej z następującymi wyjątkami:
Klauzula "Provider =
value
" jest wymagana. Nie można jednak użyć parametru "Provider = MSDASQL", ponieważ dostawca danych .NET Framework dla OLE DB nie obsługuje dostawcy OLE DB dla ODBC (MSDASQL). Aby uzyskać dostęp do źródeł danych ODBC, użyj obiektu znajdującego OdbcConnectionSystem.Data.Odbc się w przestrzeni nazw.W przeciwieństwie do odBC lub ADO zwracany parametry połączenia jest taki sam jak zestaw ConnectionStringużytkowników , minus informacje zabezpieczające, jeśli
Persist Security Info
jest ustawiona nafalse
(wartość domyślna). Dostawca danych .NET Framework dla OLE DB nie będzie utrwalał ani nie zwracał hasła w parametry połączenia, chyba że ustawiszPersist Security Info
słowo kluczowe natrue
(niezalecane). Aby zachować wysoki poziom zabezpieczeń, zdecydowanie zaleca się użycie słowa kluczowegoIntegrated Security
z ustawioną wartościąfalse
Persist Security Info
.
Możesz użyć ConnectionString właściwości , aby nawiązać połączenie z różnymi źródłami danych. Poniższy przykład ilustruje kilka możliwych parametrów połączenia.
"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"
"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"
Jeśli słowo Data Source
kluczowe nie zostanie określone w parametry połączenia, dostawca spróbuje nawiązać połączenie z serwerem lokalnym, jeśli jest dostępny.
Aby uzyskać więcej informacji na temat parametrów połączenia, zobacz Using Connection String Keywords with SQL Server Native Client (Używanie słów kluczowych parametrów połączenia z SQL Server Native Client).
Właściwość ConnectionString można ustawić tylko po zamknięciu połączenia. Wiele wartości parametry połączenia ma odpowiednie właściwości tylko do odczytu. Po ustawieniu parametry połączenia te właściwości są aktualizowane, z wyjątkiem sytuacji, gdy zostanie wykryty błąd. W takim przypadku żadna z właściwości nie jest aktualizowana. OleDbConnection właściwości zwracają tylko te ustawienia, które znajdują się w obiekcie ConnectionString.
Zresetowanie elementu w ramach zamkniętego połączenia spowoduje zresetowanie ConnectionString wszystkich wartości parametry połączenia i powiązanych właściwości. Obejmuje to hasło. Jeśli na przykład ustawisz parametry połączenia zawierającą wartość "Initial Catalog= AdventureWorks", a następnie zresetujesz parametry połączenia na "Provider= SQLOLEDB; Źródło danych = MySQLServer; IntegratedSecurity=SSPI", Database właściwość nie jest już ustawiona na AdventureWorks. (Wartość katalogu początkowego parametry połączenia odpowiada Database
właściwości ).
Wstępna walidacja parametry połączenia jest wykonywana po ustawieniu właściwości. Jeśli wartości , Provider
Connect Timeout
, Persist Security Info
lub OLE DB Services
są uwzględnione w ciągu, te wartości są sprawdzane. Gdy aplikacja wywołuje metodęOpen, parametry połączenia jest w pełni weryfikowana. Jeśli parametry połączenia zawiera nieprawidłowe lub nieobsługiwane właściwości, generowany jest wyjątek czasu wykonywania, taki jak ArgumentException, .
Przestroga
Istnieje możliwość podania informacji o połączeniu dla OleDbConnection elementu w pliku UDL (Universal Data Link), jednak należy tego unikać. Pliki UDL nie są szyfrowane i uwidaczniają parametry połączenia informacje w postaci zwykłego tekstu. Ponieważ plik UDL jest zewnętrznym zasobem opartym na plikach w aplikacji, nie można go zabezpieczyć przy użyciu .NET Framework.
Podstawowy format parametry połączenia zawiera serię par słów kluczowych/wartości rozdzielonych średnikami. Znak równości (=) łączy każde słowo kluczowe i jego wartość. Aby uwzględnić wartości zawierające średnik, znak pojedynczego cudzysłowu lub znak podwójnego cudzysłowu, wartość musi być ujęta w znaki podwójnego cudzysłowu. Jeśli wartość zawiera zarówno średnik, jak i znak podwójnego cudzysłowu, wartość może być ujęta w znaki pojedynczego cudzysłowu. Pojedynczy cudzysłów jest również przydatny, jeśli wartość zaczyna się od znaku podwójnego cudzysłowu. Z drugiej strony podwójny cudzysłów można użyć, jeśli wartość zaczyna się od pojedynczego cudzysłowu. Jeśli wartość zawiera znaki pojedynczego cudzysłowu i podwójnego cudzysłowu, znak cudzysłowu używany do ujęć wartość musi zostać podwojony za każdym razem, gdy wystąpi w ramach wartości.
Aby uwzględnić poprzednie lub końcowe spacje w wartości ciągu, wartość musi być ujęta w pojedynczy cudzysłów lub podwójny cudzysłów. Wszystkie wiodące lub końcowe spacje wokół liczb całkowitych, logicznych lub wyliczeń są ignorowane, nawet jeśli są ujęte w cudzysłów. Jednak spacje w obrębie słowa kluczowego literału ciągu lub wartości są zachowywane. Znaki pojedynczego lub podwójnego cudzysłowu mogą być używane w parametry połączenia bez użycia ograniczników (na przykład Data Source= my'Server
lub Data Source= my"Server
), chyba że znak cudzysłowu jest pierwszym lub ostatnim znakiem w wartości.
Aby dołączyć znak równości (=) do słowa kluczowego lub wartości, musi być poprzedzony innym znakiem równości. Na przykład w hipotetycznej parametry połączenia
"key==word=value"
słowo kluczowe to "key=word", a wartość to "value".
Jeśli określone słowo kluczowe w parze słowa kluczowego=wartość występuje wiele razy w parametry połączenia, ostatnie wystąpienie wymienione jest używane w zestawie wartości.
W słowach kluczowych nie jest uwzględniana wielkość liter.
Przestroga
Podczas konstruowania parametry połączenia na podstawie danych wejściowych użytkownika należy zachować ostrożność, na przykład podczas pobierania identyfikatora użytkownika i informacji o haśle z okna dialogowego i dołączania ich do parametry połączenia. Aplikacja powinna upewnić się, że użytkownik nie może osadzić dodatkowych parametrów parametrów połączenia w tych wartościach, na przykład wprowadzając hasło jako "validpassword; database= somedb" podczas próby dołączenia do innej bazy danych. Jeśli używasz parametru Właściwości rozszerzone parametry połączenia dla połączeń OLE DB, unikaj przekazywania identyfikatorów użytkowników i haseł, ponieważ należy unikać przechowywania identyfikatorów użytkowników i haseł w postaci zwykłego tekstu, jeśli to możliwe, i ponieważ domyślne ustawienie Persist Security Info= false
nie ma wpływu na Extended Properties
parametr.