Firebird a ADO.NET   zodpovězená otázka

VB.NET, ADO.NET, Databáze

Zdravím

mohl by mi někdo poradit jak se připojit do databáze Firebirdu ?

Firebird jsem nainstaloval, nedělal žádné změny

Administrator, user=sysdba s heslem=masterkey.

Zkoušel jsem pouze se přippojit na sample databázi employee.fdb:

Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
    & "User=sysdba;Password=masterkey;" _
    & "Database=e:\db\employee.fdb;" _
    & "DataSource=localhost; Connection lifetime=15;"

Dim cn As New System.Data.OleDb.OleDbConnection(connString)

Try
    cn.Open()
Catch ex As Exception
    MessageBox.Show(ex.Message)
End Try

cn.Close()

Chyba z try je:

Nelze spustit aplikaci. Informační soubor pracovní skupiny nebyl nalezen nebo je jiným uživatelem otevřen ve výhradním režimu.

Nevěděl by někdo co dělám špatně?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Asi moc neporadím, s FireBirdem jsem dělal jen párkrát, ale podle toho co píšete bych si znovu ověřil, jestli může uživatel do db přistupovat. Zkusil jste soubor s db zkopírovat někam jinam a odkázat se na něj? Tím vyloučíte právě tu chybu, kterou to nahlásilo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Taky s firebirdem dělám jenom okrajově, ale řekl bych, že tohle nebude problém connection stringu ale firebirdu jako takového (firebird enginu). Zkuste to přeinstalovat, možná jsou blbě nastavená přístupová práva k "informačnímu souboru pracovní skupiny". Jak se tenhle soubor nazývá a kde se nachází ale netuším. Zkuste různé možnosti nastavení při instalaci firebird serveru (tolik jich zase není)...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Chyba bude v connection string. Co já vidím, tak zkoušíš připojení přes data provider, který se používá pro MS Access. Pro firebird použij:

Pro NET Framework Data Provider for ODBC

Dim connString As String = "Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey; DbName=e:\db\employee.fdb;"

Nebo ještě jedna možnost:

Dim connString As String =  "User=SYSDBA;Password=masterkey;Database=SampleDatabase.fdb;DataSource=localhost; Port=3050;Dialect=3; Charset=NONE;Role=;Connection lifetime=15;Pooling=true; MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;"

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

U prvního je neplatný připojovací řetězec.

Druhý jsem již zkoušel a tam je nutné zadat providera(provider z prvního tam nejde).

Nakonec jsem tedy přistoupil na použití klientské knihovny:

FirebirdSql.Data.FirebirdClient.dll s tím to jde.

Pro další kdo budou u Firebirdu tápat, knihovna je na:

http://www.firebirdsql.org/index.php?op=...

Jinak děkuji za snahu a za odpovědi.

-

Ještě jsem odzkoušel DDEX pro VS.

http://blog.vyvojar.cz/jirka/archive/200...

S tím to pracuje naprosto jak má.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback