Avatar billede pissemyre Nybegynder
18. april 2003 - 16:09 Der er 31 kommentarer og
1 løsning

HASTER!! DB DSN-less

Hej alle sammen!

Ok jeg har lidt af et problem. Jeg har lavet en asp hjemmeside skrevet i jsp, som indeholder en database. Denne database tilgår jeg via ODBC. jeg bruger følgende til at oprette forbindelsen:

function createDatabaseConnection() {
  con = Server.CreateObject("ADODB.Connection");
  con.Open("dvds");
  return con;
}

Dette virker fint på min egen computer under IIS. Men hvad så hvis jeg vil have den ud på en "offentlig" server. Hvordan sætter jeg det op.

Jeg har kigget lidt på DSN less forbindelser, men kan ikke få det til at virke... HJÆLP

På forhånd tak!
Avatar billede madrich Nybegynder
18. april 2003 - 16:15 #1
function createDatabaseConnection() {
Set Con = Server.CreateObject("ADODB.Connection")
strConn =  "DRIVER={Microsoft Access Driver (*.mdb)};DBQ [database];"
Con.Open strConn
return con;
}
Avatar billede madrich Nybegynder
18. april 2003 - 16:17 #2
der manglede lige et "="

[database] skal erstattes med ex. d:\\home\domænenavn\db\databasenavn.mdb

function createDatabaseConnection() {
Set Con = Server.CreateObject("ADODB.Connection")
strConn =  "DRIVER={Microsoft Access Driver (*.mdb)};DBQ = [database];"
Con.Open strConn
return con;
}
Avatar billede medions Nybegynder
18. april 2003 - 16:19 #3
-lige til orientering, så er JSP IKKE ASP!

JSP = JavaServer Pages
ASP = Active Server Pages

JSP ER Java, og ikke JScript... ASP er som standard sat til at blive kodet op med VBScript, men Microsoft er kommet med en JScript version, altså Microsofts lille latterlige version for JavaScript!

I JSP koder du i ren Java, det kunne fx. se sådan her ud:

for (int i=0;i<10;i++) {
  out.println("Hej med dig" + "<br>");
}

JScript (ASP)
for (i=0;i<10;i++) {
    response.write("hej med dig" & "<br>");
}

VBScript (ASP)
For i = 0 To 10
  Response.Write("Hej med dig" & "<br>")
Next

//>Rune
Avatar billede medions Nybegynder
18. april 2003 - 16:20 #4
Prøv med flg.:

function createDatabaseConnection() {
  con = Server.CreateObject("ADODB.Connection");
  con.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db1.mdb");
  return con;
}

//>Rune
Avatar billede madrich Nybegynder
18. april 2003 - 16:22 #5
hvis ikke du kender den absolutte sti, kan du bruge

server.mappath("relativ_sti/database.mdb")

hvis databasen ligger i www.domæne.dk/db

så vil funktionen se sådan ud:

function createDatabaseConnection() {
Set Con = Server.CreateObject("ADODB.Connection")
strConn =  "DRIVER={Microsoft Access Driver (*.mdb)};DBQ = "&server.mappath("/db/database.mdb")&";"
Con.Open strConn
return con;
}
Avatar billede madrich Nybegynder
18. april 2003 - 16:23 #6
og medions, hvor er den store  forskel på jsp og asp i dette eksempel ???
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:23 #7
er lige ved at kigge på det
Avatar billede madrich Nybegynder
18. april 2003 - 16:23 #8
det handler om dns less forbindelser ikke om forskelle i ASP og jsp
Avatar billede medions Nybegynder
18. april 2003 - 16:23 #9
Hmm jeg sidder lige og tænker lidt på om det er lovligt at bruge & i JScript.. prøv sådan her;

function createDatabaseConnection() {
  con = Server.CreateObject("ADODB.Connection");
  con.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + server.mappath("db1.mdb");
  return con;
}

//>Rune
Avatar billede medions Nybegynder
18. april 2003 - 16:26 #10
:-) i know.. det er ik' det store eksempel, men her har du da et så:

Sådan her henter du en Session i JSP:
String strBrugerNavn = (String)session.getAttribute( "Brugernavn" );

og sådan her gør man i JScript:
strBrugernavn = Session("brugernavn");

-var det et bedere eksempel? ;o)

//>Rune
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:29 #11
Arg!... den bidder:

Microsoft JScript compilation (0x800A03EC)
Expected ';'
/dvdstore2/database.js, line 5, column 9
con.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + server.mappath("dvds.mdb");
Avatar billede madrich Nybegynder
18. april 2003 - 16:32 #12
con.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + server.mappath("dvds.mdb")+";";
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:40 #13
Det vil den heller ikke. Jeg prøvede dette:
con.Open ("Driver={Microsoft Access Driver (*.mdb)}" + ";" + "DBQ=" + server.mappath("dvds.mdb")+";");

Hvor den så siger "server" undefined...
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:41 #14
Jeg prøvede lige at sætte en fastlagt sti c:\dvds.mdb og så fik jeg følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x978 Thread 0xab8 DBC 0x1026024 Jet'.
/dvdstore2/database.js, line 5
Avatar billede madrich Nybegynder
18. april 2003 - 16:43 #15
Den kan ikke finde din database..
Avatar billede madrich Nybegynder
18. april 2003 - 16:44 #16
hvor ligger din database i forhold til dit script ?
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:46 #17
jeg har lagt den hundrede steder for at komme uden om dette... den ligger bl.a. på c:\dvds.mdb og så lægger den sammen med scriptet
Avatar billede madrich Nybegynder
18. april 2003 - 16:46 #18
doh --> server.mappath virker ikke i JSP man skal bruge

application.getRealPath("relativ sti");
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:47 #19
jamen hvorfor kan den ikke inde min DB. Stien er rigtig nok?
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:48 #20
con.Open ("Driver={Microsoft Access Driver (*.mdb)}" + ";" + "DBQ=" + ("c:\dvds.mdb")+";");


Det var det jeg prøvede at skrive????
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:48 #21
Ved godt det er grimt... men det det var for at ændre så lidt som muligt
Avatar billede medions Nybegynder
18. april 2003 - 16:49 #22
Jamen prøv lige at stop i 2 sek!! -Er det her JScript eller er det JSP??

//>Rune
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:51 #23
.... godt spørgsmål... jeg har ikke prøvet dette område før... det ligger i en Jscript fil, som jeg includere i et ASP documnet:
<!-- #include file="database.js" -->
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:53 #24
Kan det være fordi jeg ikke har specificeret min sikkerheds egenskaber?...
Avatar billede madrich Nybegynder
18. april 2003 - 16:53 #25
hvorfor så ikke bare lave det i ASP `?
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:54 #26
Har jeg ledt dig fuldstændig på vildspor?
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:54 #27
Det var for at kunne ændre på det let, hvis jeg nu skulle lave noget møg... som jeg jo har gjort...
Avatar billede pissemyre Nybegynder
18. april 2003 - 16:56 #28
Men det skal stadig betragtes som ASP... så vidt jeg har forstået
Avatar billede terry Ekspert
18. april 2003 - 17:49 #29
if you ask me this question hasnt very much to do with Access at all, so I would suggest taht the quetsion get moved to another forum, maybe there is also a better chance of getting an answer too :o)
Avatar billede erikjacobsen Ekspert
18. april 2003 - 17:50 #30
Du kan prøve

con.Open ("Driver={Microsoft Access Driver (*.mdb)};DBQ=c:/dvds.mdb;");
Avatar billede pissemyre Nybegynder
18. april 2003 - 19:44 #31
Hej hej alle sammen... problemet er løst. Jeg er ikke helt med på hvorfor problemet var der, men det er ligemeget nu... Medions var meget hjælpsom, så point går til ham....

Til jer andre vil jeg blot sige tak for at i viste interesse for mit problem...
Avatar billede medions Nybegynder
18. april 2003 - 21:41 #32
Fair nok...
Thx 4 Poinz

//>Rune
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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