Gå til innhold

ASP: [Løst][Microsoft][ODBC Microsoft Access Driver] Could not use '(unknown)'; file already in use


Anbefalte innlegg

Hei.

 

Jeg prøver å koble meg til microsoft sql server 2000 og får denne meldingen

[Microsoft][ODBC Microsoft Access Driver] Could not use '(unknown)'; file already in use

 

Jeg mener at jeg har gitt alle rettigheter da en del googling sier at det er det som er

problemet men jeg får bare ikke dette til.

 

Koden ser slik ut:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("path\Telefon.mdf")
Conn.Open DSN

strSQL = "Select * From person"
Set rs = Conn.Execute(strSQL)

Response.Write "<dt>Navn:</dt><dd>" & rs("Etternavn") & " " & rs("Nummer") & "</dd>"


Conn.Close
Set Conn = Nothing

 

 

Noen som har ork til å hjelpe meg å feilsøke?

 

Hele greia blir kjørt på win 2003

Endret av Tart
Lenke til kommentar
Videoannonse
Annonse

Hmmm takk det virker veldig logisk.

Endrer jeg til DSN = "DRIVER={SQL Server(*.mdb)}; "

 

så får jeg opp meldingen

Server.MapPath() error 'ASP 0172 : 80004005'

 

Invalid Path

 

/Default.asp, line 10

 

The Path parameter for the MapPath method must be a virtual path. A physical path was used.

 

Her er det noe jeg ikke helt forstår.

har en virtuel mappe under web sites i IIS som er linket til folderen med alle databasene, men jeg skjønner ikke helt hvordan jeg kobler meg til.

 

pls hjelp?

Lenke til kommentar

Du aksesserer ikke SQL Server databaser ved å åpne databasefilene, slik som du gjør med Access. Du forteller hvilken server og hva databasen på denne serveren heter, samt hvordan du vil autentiseres. F.eks. "Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;"

 

Har du installert SQL Server på denne servere?

Lenke til kommentar

Nå har jeg koden:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={SQL Server(*.mdb)}; "
DataSource="servernavn;Initial Catalog=Telefon.mdf;Integrated Security=SSPI;"
Conn.Open DataSource

strSQL = "Select * From person"
Set rs = Conn.Execute(strSQL)

Response.Write "<dt>Navn:</dt><dd>" & rs("Etternavn") & " " & rs("Nummer") & "</dd>"


Conn.Close
Set Conn = Nothing
%>

 

Nå får jeg meldingen

 

Microsoft OLE DB Service Components error '80040e21'

 

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

 

/Default.asp, line 11

 

Føler at jeg roter fælt her hehe, er ikke gøy å være uerfaren i noe =) :( .

 

Setter superstor pris på all hjelp jeg får her. Kjenner virkelig trangen til å få dette til. =)

Endret av Tart
Lenke til kommentar

Data Source er navnet eller ip-adressen til serveren. Hvis SQL Server kjører på samme server som webserveren, så kan du bruker localhost, hvis ikke så bruker du f.eks. DNS-navnet. Initial Catalog er navnet på databasen. Ikke forveksle dette med filenavnet.

 

Eksempel: "Data Source=localhost;Initial Catalog=Telefon;Integrated Security=SSPI;"

 

Jeg spør igjen: Er du sikker på at SQL Server er installert på serveren?

Lenke til kommentar

Nå er koden slik:

 

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={SQL Server(*.mdb)}; "
DataSource="localhost;Initial Catalog=Telefon;Integrated Security=SSPI;"
Conn.Open DataSource

strSQL = "Select * From person"
Set rs = Conn.Execute(strSQL)

Response.Write "<dt>Navn:</dt><dd>" & rs("Etternavn") & " " & rs("Nummer") & "</dd>"


Conn.Close
Set Conn = Nothing
%>

 

Og jeg får samme feilmelding:

Microsoft OLE DB Service Components error '80040e21'

 

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

 

/Default.asp, line 11

Kan ikke være mye som skal til her :)

Lenke til kommentar

Jeg har prøvd de fleste men står like fast.

nå får jeg feilmeldingen Expected end of statement

 

/Default.asp, line 10

 

Data Source=localhost;Initial Cataloc=Telefon; User Id=Administrator;Password=xxxxx;

---------------------^

 

uten at jeg ser hvorfor (mulig blind)

 

koden er slik:

 

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={SQL Server(*.mdb)}; "
Data Source=localhost;Initial Cataloc=Telefon; User Id=user;Password=password;
strSQL = "Select * From person"
Set rs = Conn.Execute(strSQL)

Response.Write "<dt>Navn:</dt><dd>" & rs("Etternavn") & " " & rs("Nummer") & "</dd>"


Conn.Close
Set Conn = Nothing
%>

Endret av Tart
Lenke til kommentar
Jeg har prøvd de fleste men står like fast.

 

HAr du virkelig prøvd? Du bruker SQL Server 2000. Når jeg klikker på denne versjonen på websiden jeg linket til så står det et eksempel:

 

 

Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

 

Koden som åpner en connection blir da:

 

conn.Open "Provider=sqloledb;Data Source=localhost;Initial Catalog=Telefon;Integrated Security=SSPI;"

 

Verre er det ikke.

Lenke til kommentar

Glimrende tusen tusen takk.

 

Nærmer meg veldig nå føler jeg.

 

Men ett siste (håper jeg) hinder har dukket opp.

 

Nå får jeg meldingen

Microsoft OLE DB Provider for SQL Server error '80040e09'

 

SELECT permission denied on object 'Person', database 'Telefon', owner 'dbo'.

 

Jeg bruker IUSR og mener selv at jeg har klart å gi alle rettigheter som jeg finner, men tydeligevis er det noe som jeg har glemt eller ikke fått med meg her.

 

Tips?

På forhånd tusen takk.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...