Avatar billede milandt Nybegynder
14. september 2004 - 12:19 Der er 13 kommentarer og
1 løsning

Database hos slutbrugeren, ODBC, BDE alias, AOD og lign..

Hej, kan nogen klarlægge problematikken og evt en løsning på hvordan jeg får en database til at køre hos min slutbruger når jeg bygger en windows-baseret applikation i borland C++ Builder?

Der er forskellige måder jeg kan kommunikere med databasen.. ODBC, BDE alias, AOD og lign.. men jeg har aldrig prøvet at programmere noget der har behov for en database og køre hos en slutbruger jeg ikke kender...

Hvad vil virke uden at brugeren selv skal ind og oprette en ODBC, et BDE-alias eller andet.. Det skal bare virke når jeg ved hvor databasen er placeret i forhold til den applikation jeg sender ud til brugeren.

Dennis
Avatar billede arne_v Ekspert
14. september 2004 - 12:22 #1
Kan DSNless ODBC ikke gøre det ??

(jeg er ikke så Delphi kyndig, men det kan laves i Java, .NET og C/C++ - så jeg
formoder at det også kan laves i Delphi)
Avatar billede milandt Nybegynder
14. september 2004 - 12:47 #2
hvordan gør jeg det? Synes at uanset hvordan jeg gør, så vil Borland have mig til at vælge en en eller anden form for DSN når jeg prøver at connecte via ODBC..
Avatar billede arne_v Ekspert
14. september 2004 - 12:52 #3
Nu kender jeg ikke så meget til delphi og databaser.

Men i C/C++ kan man bare angive en connection string ligesom denne til Access:
  Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\\Database\\Test.mdb;Uid=Admin;Pwd=;";

Og så behøver den ingen DSN.
Avatar billede milandt Nybegynder
14. september 2004 - 12:56 #4
ok, hvordan ville en conn string til en paradox db se ud når jeg kun kender databasens placering i forhold til applikationen (\data)?
Avatar billede arne_v Ekspert
14. september 2004 - 12:59 #5
Jeg prøver at finde en paradox string.

relativ versus absolut sti er ikke noget problem

absolut sti = placering af EXE + relativ sti
Avatar billede milandt Nybegynder
14. september 2004 - 13:21 #6
ville være super hvis det kunne komme til at virke uanset hvor det bliver kørt og på hvilken maskine.
Avatar billede arne_v Ekspert
14. september 2004 - 14:33 #7
Jeg fandt den her på nettet:

'Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=c:\dbpath\;Dbq=c:\dbpath\;CollatingSequence=ASCII'
Avatar billede arne_v Ekspert
14. september 2004 - 14:36 #8
"Driver={Microsoft Paradox Driver (*.db )};DBQ=C:\etellerandetdir;DriverID=n"

hvor n =
26 (Paradox 3.x)
282 (Paradox 4.x)
538 (Paradox 5.x)

(og husk det mellemrum efter *.db)
Avatar billede milandt Nybegynder
14. september 2004 - 14:57 #9
virker med den absolutte sti.. hvordan skal jeg skrive den relative sti for at det virker? databasen ligger i en mappe der hedder "data" i forhold til exe-filen..
Avatar billede arne_v Ekspert
14. september 2004 - 15:01 #10
ExtractFilePath(Application.ExeName)

bør returnere directory hvor EXE ligger og så må du kunne konkatanere den
med din relative sti.
Avatar billede milandt Nybegynder
14. september 2004 - 15:05 #11
bygger det færdigt i morgen - så jeg skal sætte connection string under runtime?
Avatar billede arne_v Ekspert
14. september 2004 - 15:06 #12
ja
Avatar billede milandt Nybegynder
15. september 2004 - 10:55 #13
det ser ud til at virke, også på andre computere end denne, og fra forskellige directories.. taark arne_v :)

points?
Avatar billede arne_v Ekspert
15. september 2004 - 10:57 #14
ja tak
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
Computerworld tilbyder specialiserede kurser i database-management

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