Connection string do .sdf po publikacji

0

Witam,

Napisałem sobie aplikację okienkową (VS C# Express 2010), która łączy się z bazą .sdf... debugowałem... opublikowałem... przeniosłem na inny komputer... i... KLOPS
Po zainstalowaniu aplikacji uruchomiła się ale w momencie gdy ma się łączyć z bazą danych (na starym miejscu chodziła jak złoto) na nowym miejscu zgłasza komunikat następującej treści:

The path is not valid Check the directory for the database Path = C:/... (i tu jest ścieżka do starego miejsca)...

Podejrzewam, że problem jest w kodzie, który w stringu podaje dojście do starego miejsca.

Proszę o pomoc jak opublikować aplikaję aby ją przenosić z całą bazą lokalną. Z góry dziękuję za wszystkie podpowiedzi...

Pozdrawiam

0

Użyj adresu względnego zamiast bezwzględnego.

0

Umieść plik z bazą w katalogu domowym usera (bezposrednio, lub w podkatalogu o znanej nazwie) i użyj systemowych mechanizmów do znalezienia właściwej ścieżki.

0

Witam serdecznie,

Piszę sobie... w kodzie programu do Connection String wpisałem względny adres w następujący sposób (takiego zapisu nie akceptuje Database Explorer w [Modify Connection...]:

 
SqlCeConnection baza = new SqlCeConnection("Data Source=..\\..\\..\\..\\Aaa\\Aaa\\aaa.sdf");
baza.Open();

debugowanie == sukces;
publikowanie == sukces;
instalacja na nowym komputerze == sukces (na marginesie nie mam teraz dostępu do docelowego komputera, więc testuję na "zaprzyjaźnionym");
uruchomienie = sukces;
połączenie z bazą == KLOPS :-(...

Czy ktoś naprowadzi żółtodzioba? Z góry dziękuję.

Pozdrawiam

0

Zaglądałeś tutaj http://www.connectionstrings.com/sql-server-2005-ce w poszukiwaniu poprawnego connection stringa?

0

Witam po dłuższej nieobecności,

Dziękuję za wszystkie podpowiedzi. Aktualnie stosuję następującą ścieżkę dostępu:

 
string path = (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase));
            MessageBox.Show(path.ToString());

            string new_path = path.Replace("\\", "\\\\");
            MessageBox.Show(new_path.ToString());

            SqlCeConnection zapytanie = new SqlCeConnection(@new_path.ToString() + "\\pupswwkp.sdf");
            zapytanie.Open();

Po debugowaniu zgłasza mi się następujący komunikat

"Format of the initialization string does not conform to specification starting at index 0"

Proszę powiedzcie gdzie ten bies siedzi.

fooZ góry dziękuję!
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1