Avatar billede tigertool Nybegynder
18. januar 2005 - 22:40 Der er 23 kommentarer og
1 løsning

Forbinde til InterBase

Hej,

Jeg arbejder for tiden en del med C#. (Benytter C#Builder Personal, har ikke råd til Visual C#)

Jeg vil gerne nu vide hvordan man forbinder til en InterBase database, henter og sender data.

Jeg ønsker kode-eksempler som er beskrivende!
Avatar billede arne_v Ekspert
18. januar 2005 - 22:49 #1
ODBC ?
Borland Data Provider ?
Firebird .Net Data Provider ?
Avatar billede tigertool Nybegynder
18. januar 2005 - 22:55 #2
Hvad vil du foreslå?
Avatar billede tigertool Nybegynder
18. januar 2005 - 22:55 #3
- har du evt. erfaringer?
Avatar billede tigertool Nybegynder
18. januar 2005 - 22:56 #4
Desuden kræver nogle af disse yderligere implementering end SDK på en PC?
Avatar billede arne_v Ekspert
18. januar 2005 - 23:03 #5
ODBC - nej (en del af .NET 1.1)
BDP - ja formoder jeg (men om det kommer med C#Builder Personal ved jeg ikke)
FireBird - ja, kan downloades gratis, men jeg ved ikke om den kan bruges mod en rigtig Interbase

Nej - jeg har ikke prøvet selv, men jeg har kode C# mod mange andre databaser.
Avatar billede arne_v Ekspert
18. januar 2005 - 23:06 #6
Du kunne jo starte med ODBC !

Noget a la:

        OdbcConnection con = new OdbcConnection("Driver={INTERSOLV InterBase ODBC Driver (*.gdb)};Server=localhost;Database=localhost:C:\mydatabase.gdb;Uid=username;Pwd=password");
        con.Open();
        OdbcCommand cmd = new OdbcCommand("SELECT ...", con);
        OdbcDataReader rdr = cmd.ExecuteReader();
        while(rdr.Read()) {
            // brug rdr[colindex]
        }
        con.Close();
Avatar billede tigertool Nybegynder
18. januar 2005 - 23:18 #7
Hmm.. Jeg får en "[C# Error] Class.cs(11): Unrecognized escape sequence"

11: OdbcConnection con = new OdbcConnection("Driver={INTERSOLV InterBase ODBC Driver (*.gdb)};Server=localhost;Database=localhost:E:\Databaser\prodata.gdb;Uid=SYSDBA;Pwd=XXXXXXXXXXXXXX");
Avatar billede tigertool Nybegynder
18. januar 2005 - 23:27 #8
Hehe.. der skal lige et @ foran "Driver....
Avatar billede tigertool Nybegynder
18. januar 2005 - 23:29 #9
Dog giver det stadig en exception. Jeg ved desværre bare ikke hvilken.
Avatar billede arne_v Ekspert
19. januar 2005 - 21:35 #10
Sorry med den @

Du må da vide hvilken exception du får
Avatar billede tigertool Nybegynder
19. januar 2005 - 21:56 #11
Selvfølgelig:

System.Data.Odbc.OdbcException, og der peges på følgende linje:

OdbcCommand cmd = new OdbcCommand("SELECT * FROM zipcodes;", con);
Avatar billede arne_v Ekspert
19. januar 2005 - 21:58 #12
Prøv evt. uden det semikolon
Avatar billede tigertool Nybegynder
19. januar 2005 - 22:35 #13
giver samme exception
Avatar billede tigertool Nybegynder
19. januar 2005 - 23:38 #14
Jeg har lige prøvet med en try/catch hvor jeg udskrev exceptionen, dette gav følgende:

System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] D
atakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.
  at System.Data.Odbc.OdbcConnection.Open()

Spørgsmålet er nu bare, betyder det at jeg mangler at installere noget i SDK, eller?
Avatar billede arne_v Ekspert
20. januar 2005 - 21:35 #15
Installerer Interbase ikke ODBC drivere sammen med serveren ?

(check i control panel, administartive, odbc, drivers)
Avatar billede tigertool Nybegynder
20. januar 2005 - 21:54 #16
Det ser det ikke ud til.

Kan jeg evt finde dem et sted og installere dem manuelt?
Avatar billede arne_v Ekspert
20. januar 2005 - 21:59 #17
Avatar billede arne_v Ekspert
20. januar 2005 - 22:04 #18
Men så skal connection string ændres til noget a la:

"DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=D:\FIREBIRD\examples\TEST.FDB"
Avatar billede arne_v Ekspert
20. januar 2005 - 22:05 #19
Men hvis du alligevel skal installere den så kan du da lige så godt installere
Firebird .Net Data Provider  !!
Avatar billede tigertool Nybegynder
20. januar 2005 - 22:07 #20
Hehe, der kan  man så ikke downloade det. Dog prøvede jeg lige at geninstallere min InterBase Server. Der var selvfølgelig ODBC Drivere med, man skulle bare sætte et lille flueben.

Takker endnu en gang.

Smid lige et svar :)
Avatar billede arne_v Ekspert
20. januar 2005 - 22:09 #21
:-)

og svar
Avatar billede tigertool Nybegynder
20. januar 2005 - 22:11 #22
Tak.

Kan du som bonus forklare hvordan man udfører et INSERT statement? :)
Avatar billede arne_v Ekspert
20. januar 2005 - 22:14 #23
a la:

OdbcConnection con = new OdbcConnection("...");
con.Open();
OdbcCommand cmd = new OdbcCommand("INSERT INTO tabelnavn VALUES(" + intval + ",'" + strval + "')", con);
cmd.ExecuteNonQuery();
Avatar billede tigertool Nybegynder
20. januar 2005 - 22:22 #24
Tak :)
Og det virker jo bare.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester