patrick- Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 Hallo Leute, ich arbeite mich gerade in das Thema ASP etc. ein. Doch leider bekomme ich keine Verbindung zu meiner Datenbank hergestellt :cool: Ich habe auch noch nicht so ganz verstanden, wieso es so viele auswahlmöglichkeiten zum Verbinden gibt ... ODBC...ADO etc.... . Soviel ich weiß, scheint eine ADO Verbindung die geeignetste und einfachste zu sein. Leider finde ich keine Hilfreichen Seiten im Netz und erhoffe mir hier hilfe. Habt ihr dazu vielleicht interessante Seiten? Oder kann mir jemand den kurzen Quellcode zum Verbinden zu einer DB geben? Die Beschreibungen im Netz verstehe ich noch nicht zu ganz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 du hast alles ganz schön angegeben, nur welche datenbank, nicht. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
patrick- Geschrieben 13. Februar 2006 Autor Teilen Geschrieben 13. Februar 2006 Sorry Microsoft SQL Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 gut zu wissen, hätte ja auch ein datenbank-exot sein sein können. auch für ADO benötigst du soetwas wie ODBC oder OLEDB, denn ADO stellt - vereinfacht ausgedrückt - auch nur objekte wie command, connection, recordset sowie die vereinheitlichung durch sogenannte connectionstrings zur verfügung. vielleicht fängst du mal ganz einfach und langsam genau hier an und berichtest dann deine fortschritte bzw. was noch nicht funktioniert. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
patrick- Geschrieben 13. Februar 2006 Autor Teilen Geschrieben 13. Februar 2006 Okay, das sieht dann schon etwas besser aus! Jedenfalls bekomm ich schonmal eine Fehlermeldung Bei mir stimmt anscheinend folgende Zeile noch nicht: conn.Open "DSN=TECHEINKAUF;USR=intra;PWD=extra" Ist DSN nicht die Angelegte Datenbank? Und ich finde nirgendswo auf dem Server, wo der User bzw. das PW hinterlegt ist. Ich hatte einfach mal den Windows Benutzernamen versucht (was wie nicht anders zu erwarten nicht geklappt hat). Ich verwende den Enterprise Manager und finde nirgendswo den Eintrag, wo dies hinterlegt sein könnte. Muss ich den Eintrag eventuell auch in einer Datei nachlesen? (ich wage mich daran zu erinnern, dass es bei Apache oder MySQL so ist) mfg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 13. Februar 2006 Teilen Geschrieben 13. Februar 2006 DSN=TECHEINKAUF ist in deinem fall die ODBC system/benutzer-DSN, welche auf dem IIS angelegt werden muss - und nicht die datenbank. in diesem konfigurationsdialog muss angegeben werden, ob der zugriff via windows- oder sql server-sicherheit erfolgt. dies entspricht einem rechtsklick auf die datenbank im enterprise manager, und dort in der einstellung der authentifizierungsmethode. es empfielt sich auf jeden fall, am sql server einen eigenen benutzer für zugriffe aus dem web dafür anzulegen (entspricht USR=intra) und dem ein passwort zuzuweisen. also - ODBC DSN anlegen - authentifizierungsmethode einstellen - standarddatenbank (default catalog o.ä.) einstellen oder - im connection string im asp-script oder in der global.asa hinterlegen - nochmals testen. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
patrick- Geschrieben 14. Februar 2006 Autor Teilen Geschrieben 14. Februar 2006 Das System läuft im Intranet und nicht über's Internet. Der DSN Eintrag sollte dann Local_Server sein. (Irre ich mich? Weil ich finde den Eintrag nicht mehr im Manager, ich weiss aber noch, dass ich Local_Server statt SQL-Server angegeben habe) Ich habe nun zusätzlich einen neuen User angelegt, der nur Zugriff auf meine Datenbank hat. Jedoch konnte ich für diesen kein Passwort vergeben. Aus deiner Seite habe ich mir folgenden Code zusammengebastelt: <% Response.Expires=0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-control", "no-store" Response.Write "Abfrageergebnis:<br>" & vbcrlf Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DSN=Local_Server;USR=user1;PWD=" strSQL = "SELECT * From HUser" Set rs = conn.Execute(strSQL) Do While Not(rs.EOF) Response.Write "" & rs("H-HausNr") & " : " Response.Write "" & rs("HausName") & "<BR>" & vbcrlf rs.MoveNext Loop rs.Close conn.Close %> (Wobei ich leider noch nicht genau weiß, was z.B. die ersten drei Zeilen Code sind) Jedenfalls kommt als Ergebnis immernoch: Abfrageergebnis: Microsoft OLE DB Provider for ODBC Drivers Fehler "80004005' [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben /Projekte/Esser/test/index.asp, line 24 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 14. Februar 2006 Teilen Geschrieben 14. Februar 2006 Der DSN Eintrag sollte dann Local_Server sein. [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben Local_Server ist der host, auf dem sql server läuft, nicht der DSN. der DSN kann von dir selbst benannt werden. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
patrick- Geschrieben 14. Februar 2006 Autor Teilen Geschrieben 14. Februar 2006 Danke für deine Hilfe!! Der größte Fehler lag am DSN. So funktioniert es jetzt: <% Response.Expires=0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-control", "no-store" Response.Write "Abfrageergebnis:<br>" & vbcrlf Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DSN=SQLEINKAUF" strSQL = "SELECT * From H" Set rs = conn.Execute(strSQL) Do While Not(rs.EOF) Response.Write "" & rs("Haus-Nr") & " : " Response.Write "" & rs("Haus-Name") & "<BR>" & vbcrlf rs.MoveNext Loop rs.Close conn.Close %> Aber kannst du mir viiiiiiiieeeeeelllleicht noch sagen was das heißt?: Response.Expires=0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-control", "no-store" MFG Patrick *dicker knutscha* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 14. Februar 2006 Teilen Geschrieben 14. Februar 2006 Aber kannst du mir viiiiiiiieeeeeelllleicht noch sagen was das heißt?: Response.Expires=0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-control", "no-store" das sind HTTP-header, die mit dem response-objekt gesendet werden. expires=0 heisst, dass der seiteninhalt sofort abläuft. pragma no-cache und cache-control sind HTTP 1.0 und 1.1 direktiven, die dem browser sagen: nein, du sollst den seiteninhalt beim nächsten mal neu vom server und nicht aus dem lokalen cache holen. :mod: *dicker knutscha* /me = m s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.