2012-02-21 17 views
6

Napisałem program w C#, aby wyciągnąć jakieś dane używając OdbcConnection:ODBC ConnectionString

using System.Data.Odbc; 
...... 

OdbcConnection OdbcConn = 
       new OdbcConnection(Properties.Settings.Default.ConnectionString); 
OdbcCommand cmd = new OdbcCommand(); 

//open connection 
if (OdbcConn.State != ConnectionState.Open) 
{ 
    OdbcConn.Open(); 
} 

W moim pliku ustawień, mam ten ConnectionString:

Dsn=****;uid=userID;pwd=password

Jednak nie może nawiązać połączenie. Mam zainstalowany sterownik iseries od IBM corp, ale jeśli spróbuję dostępu MS, będę mógł się połączyć. Jakieś sugestie?

Odpowiedz

9

W razie wątpliwości (i obejmuje ciągi połączeń): http://www.connectionstrings.com/

+0

Wystarczy kliknąć na typ DB używanego u góry, aby zobaczyć dobry przykład tego, czego brakuje (Zauważyłem, że nie informując go gdzie podłączyć, czyli nazwa lub IP) –

+0

robi każdy wie, jak nawiązać połączenie DSN za darmo za pomocą sterownika – saiful

+0

co jeśli mam zamiar ustawić ODBC za pomocą Access na zdalnym serwerze? –

0

Zawsze lubię do sprawdzenia połączenia przy użyciu źródła danych (ODBC) w panelu sterowania (zakładamy, jesteś w oknie środowiska). Upewnij się, że dysk jest dostępny w wyborze ODBC i postępuj zgodnie z instrukcjami, aby przetestować łączność.

jak również wspomniano powyżej połączeń struny strona nie daje pojęcia, jakie właściwości i format, w którym dany sterownik łączność

3

Na bitowym komputerze z systemem Windows 64, pamiętaj, aby sprawdzić, czy Twój kod C# jest skompilowany w x86 (32 -bit), x64 lub "dowolny procesor". Zauważ, że jeśli skompilujesz jako "dowolny procesor", domyślnie wybierze sterowniki x64 bitowe.

32-bitowe sterowniki można znaleźć pod adresem C: \ windows \ SysWOW64 \ odbcad32.exe. 32-bitowe sterowniki można znaleźć pod adresem C: \ windows \ system32 \ odbcad32.exe.

Najpierw sprawdź, czy połączenie działa z Administratorem źródła danych ODBC, korzystając ze ścieżek podanych wcześniej. To znaczy. utworzyć DSN i przetestować go tak, jak sugerował Turbot. Po sprawdzeniu, że to połączenie działa, Twój ciąg połączenia może wykorzystywać utworzony właśnie numer DSN lub użyć ciągów wolnych połączeń DSN.

Dla szybkiego odniesienia, oto próbka wolnego ciąg połączenia DSN przy użyciu sterownika ODBC:

Sterownik = {Progress OpenEdge 11.3 Kierowca}; host = wfdscr11.wf.local; Port = 1234 ; DB = MyDatabaseName; UID = Jan; PWD = Doe

W tym przykładzie, musiałem połączyć się z bazą danych Progress z mojego kodu C# i jest to ciąg połączenia użyłem bez konieczności określić DSN. Poniżej widać, że nazwa sterownika to "Progress OpenEdge 11.3 Driver".

enter image description here

Powiązane problemy