2013-03-20 16 views
9

Próbuję połączyć się z bazą danych serwera SQL za pomocą ADO. Hasło zawiera spację jako ostatni znak. Czy podczas budowania ciągu połączenia powinienem uciec przed hasłem?przestrzeń ucieczki w ciągu połączenia

MSDN mówi umieścić go w pojedyncze lub podwójne cudzysłowy, ale które nie wydają się działać ...

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

To właśnie mój ciąg połączenia wygląda następująco:

Provider=SQLOLEDB;Persist Security Info=False;Initial Catalog=master;Data Source=test;uid=john;pwd="123 " 

Dzięki

+0

Czy możemy zobaczyć podobną wersję Twojego ciągu połączenia? – Paul

+0

czy pwd powinno zawierać spację? – RBA

+3

'Hasło zawiera spację jako ostatnią postać." Dlaczego, dlaczego, dlaczego, dlaczego, dlaczego? Wiele interfejsów będzie ciągów ltrim/rtrim. To wydaje się głupie, aby spróbować obejść to, gdy powinieneś po prostu użyć lepszego hasła. –

Odpowiedz

12

Mogę powiedzieć, co ma pracuję:

Provider=SQLOLEDB;Password="123 ";Persist Security Info=True;User ID=john;Initial Catalog=mydbname;Data Source=127.0.0.1 
  1. Kiedy pwd parametr jest używany zamiast Password to nie trafia do żadnego - Musisz użyć Password słowa kluczowego, które powinny być ujęte w cudzysłów.
  2. uid zamiast User ID działa dobrze - nadal używam User ID, ponieważ budowniczy połączeń tworzy go domyślnie.
  3. Persist Security Info słowo kluczowe (było wspomniane w jednym z komentarzy) nie ma wpływu na połączenie - As @TLama dobrze skomentował "Możesz się połączyć, ale nie otrzymasz hasła z interfejsu IDBProperties, jeśli zachowasz je Fałsz . "
  4. Kolejność słów kluczowych w ciągu połączenia nie jest ważna. interfejs IDBProperties analizuje ten ciąg na internal "Properties" collection

testowane z SQL Server 2008 R2.

+0

Zmieniłeś dwie rzeczy. Zmieniłeś nazwę wartości z 'pwd' na' Password', ale zmieniłeś także wartość, aby nie była już na końcu łańcucha. Czy obie zmiany są konieczne? –

+3

Kolejność nie ma znaczenia. Zmieniłem pwd na Hasło, ale zachowałem je na końcu ... –

Powiązane problemy