Avatar billede marvinq Nybegynder
06. marts 2013 - 15:07 Der er 8 kommentarer og
1 løsning

Mangler JDBC Driver

Hej eksperter,

Jeg står med en gammel databasefil .gdb oprettet i tidernes morgen i Borland Interbase. Nu står jeg så og mangler en jdbc driver til at forbinde til databasen, men kan simpelthen ikke finde nogen. Alle download links på nettet er nedlagt og jeg ender altid i "Siden kan ikke vises".

Kan nogen hjælpe mig med at komme i forbindelse med min databasefil igen?
Avatar billede arne_v Ekspert
06. marts 2013 - 15:15 #1
Jeg ville proeve med:

http://www.firebirdsql.org/en/jdbc-driver/

FireBird er en klon af Interbase.
Avatar billede marvinq Nybegynder
09. marts 2013 - 16:41 #2
Hi arne_v

Tak for svar, det må jeg lige få kigget på.

Fedt i øvrigt, at det lige er dig der skriver. For en del år siden efterhånden anbefalede du hsqldb til java, fordi jeg dengang gerne ville være driver-fri. Jeg kan læse på nettet at den også fungerer til .Net, men ved du hvor man kan finde oplysninger om det? Jeg har ikke været i stand til at finde en .Net udgave, selvom flere skriver det skulle være muligt.

PFT
Avatar billede arne_v Ekspert
09. marts 2013 - 16:55 #3
Saa vidt jeg kan laese mig til skal man selv hente source code her:

http://hsqldb.svn.sourceforge.net/viewvc/hsqldb/dotnet/

og selv builde.
Avatar billede marvinq Nybegynder
09. marts 2013 - 17:07 #4
Hej,

Tak for hurtigt svar.

Det lyder jo helt perfekt. Jeg må få kigget på det. Mange tak.

Smid et svar.!
Avatar billede arne_v Ekspert
09. marts 2013 - 17:13 #5
svar
Avatar billede arne_v Ekspert
09. marts 2013 - 17:41 #6
Jeg har lige selv kigget paa det.

Det er et helt traditionelt ADO.NET provider API saa meget paent .NET'sk.

Men det er implementeret som:

applikation-->ADO.NET provider-->IKVM-->JDBC driver-->database

saa jeg vil nok kun anbefale det, hvis der er kompabilitets aarsager til at vaelge HSQLDB.
Avatar billede arne_v Ekspert
09. marts 2013 - 17:42 #7
Eksempel:


using System;

using System.Data.Hsqldb.Client;
using System.Data.Hsqldb.Common.Enumeration;

namespace E
{
    public class Program
    {
        public static void Main(string[] args)
        {
            HsqlConnection con = new HsqlConnection("jdbc:hsqldb:file:/temp/test;shutdown=true");
            con.Open();
            HsqlCommand cre = new HsqlCommand(con, "CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 VARCHAR(50))");
            cre.ExecuteNonQuery();
            HsqlCommand ins = new HsqlCommand(con, "INSERT INTO t1 VALUES(@f1,@f2)");
            ins.Parameters.Add(new HsqlParameter("@f1", HsqlProviderType.Integer));
            ins.Parameters.Add(new HsqlParameter("@f2", HsqlProviderType.VarChar, 50));
            ins.Parameters["@f1"].Value = 1;
            ins.Parameters["@f2"].Value = "A";
            ins.ExecuteNonQuery();
            ins.Parameters["@f1"].Value = 2;
            ins.Parameters["@f2"].Value = "BB";
            ins.ExecuteNonQuery();
            ins.Parameters["@f1"].Value = 3;
            ins.Parameters["@f2"].Value = "CCC";
            ins.ExecuteNonQuery();
            HsqlCommand sel = new HsqlCommand(con, "SELECT f1,f2 FROM t1");
            HsqlDataReader rdr = sel.ExecuteReader();
            while(rdr.Read())
            {
                int f1 = (int)rdr["f1"];
                string f2 = (string)rdr["f2"];
                Console.WriteLine(f1 + " " + f2);
            }
            rdr.Close();
            HsqlCommand drp = new HsqlCommand(con, "DROP TABLE t1");
            drp.ExecuteNonQuery();
            con.Close();
            Console.ReadKey();
        }
    }
}

♠
Avatar billede marvinq Nybegynder
09. marts 2013 - 17:49 #8
Okay.. du er allerede meget længere end mig. :) Når ikke kigge på det i dag. Men fedt hvis du allerede har løsningen der.

Mener du at en jdbc driver stadig er nødvendig at installere eller?
Avatar billede arne_v Ekspert
09. marts 2013 - 21:17 #9
Den kommer med det hele.

System.Data.Hsqldb.*.dll med selve ADO.NET providereen
Org.Hsqldb.dll med JDBC driveren oversat fra Java byte code til MSIL
IKVM.Runtime.dll + IKVM.OpenJDK.*.dll med Java runtime library fra Java byte code til MSIL
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

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