Tart Skrevet 10. desember 2008 Skrevet 10. desember 2008 (endret) 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 10. desember 2008 av Tart
kaffenils Skrevet 11. desember 2008 Skrevet 11. desember 2008 Connectionstringen din er helt på tur. Du bruker en MS Access-driver for å åpne en SQL Server databasefil... Les her:http://www.connectionstrings.com/
Tart Skrevet 11. desember 2008 Forfatter Skrevet 11. desember 2008 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?
kaffenils Skrevet 11. desember 2008 Skrevet 11. desember 2008 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?
Tart Skrevet 11. desember 2008 Forfatter Skrevet 11. desember 2008 Microsoft sql server 2000 er installert på serveren ja.
Tart Skrevet 11. desember 2008 Forfatter Skrevet 11. desember 2008 (endret) 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 11. desember 2008 av Tart
kaffenils Skrevet 11. desember 2008 Skrevet 11. desember 2008 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?
Tart Skrevet 11. desember 2008 Forfatter Skrevet 11. desember 2008 hehe ja jeg er bombesikker på at microsoft sql server er installert på serveren. Der fungerer alt fint.
Tart Skrevet 11. desember 2008 Forfatter Skrevet 11. desember 2008 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
nomore Skrevet 11. desember 2008 Skrevet 11. desember 2008 Hvorfor bruker du ikke en connectionstring av typen det står om på ConnectionStrings.com, som allerede linket til?
Tart Skrevet 11. desember 2008 Forfatter Skrevet 11. desember 2008 (endret) 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 22. desember 2008 av Tart
nomore Skrevet 11. desember 2008 Skrevet 11. desember 2008 Da har du nok programmeringsblindhet (noe som rammer mange regelmessig) DSN = connectionstring Problemet ditt er at du har avsluttet linjen med en fnutt før du er ferdig. Og den linjen, om du tar bort en fnutt(") blir fortsatt feil.
Tart Skrevet 11. desember 2008 Forfatter Skrevet 11. desember 2008 Hehehe nei nei nei hjelp meg!! Jeg klarer ikke å se det og det er superfustrerende
kaffenils Skrevet 11. desember 2008 Skrevet 11. desember 2008 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.
Tart Skrevet 13. desember 2008 Forfatter Skrevet 13. desember 2008 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.
Tart Skrevet 13. desember 2008 Forfatter Skrevet 13. desember 2008 Jeg fikk det til Måtte gå inn på security /logins i enterpris manager velge bruker properties / database access velge database og krysse av alle muligheter på server roles. Tusen takk alle sammen for hjelp.
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå