ODBC / DSN ? *kein plan hab..

Dorian Iten

Mitglied
hallo wiedermal,

iich hab n kleines problem, oder besser n paar fragen:

ich hab nen hoster der nur asp akzeptiert, weil php zu unsicher ist [auf nicht unix servern]
ich kann etwas php aber null asp, und ich möchte ne wallpaper gallery machen dass ich bilder mit infos zum artist etc. über den browser raufladen kann. wenn man das ganze dann kommentieren könnte wärs perfekt.

hab irgendwo vor langer zeit gehört bilder in ne db zu laden wär nicht soo effizient, aber die daten müsste ich in ne db machen. mein hoster erzählt was von odbc und dsn und ich hab keinen plan... :( odbc darum weil die logindaten [aus sicherheitsgründen] nicht in nem file stehen dürfen.

nuja, es wär geil wenn mir jemand erklären könnte wie ODBC und DSN funktioniert, die grundlegendsten grundlagen halt. ist odbc ne datenbank wie sql? was ist dsn?

danke schonmal :rolleyes:
 
Du brauchst dich da gar nicht gross drum zu kuemmern.
Du oeffnest einfach deine Verbindung indem du

Set con = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

2 Objecte erstellst eins fuer die Connection ansich . das 2. falls du datenabfragst fuer das Record Set

DNS ist sozusagen ne moeglichkeit einen Connection string abzuspeichern :) *einfach gesagt.

Du musst deine Connection mit einem Connection string oeffnen:

conn.ConnectionString = "driver={SQL Server};" & _
"server=sqlserver;uid=MEINNAME;pwd=MEINPASS;database=DIEDB"

oder der dns:

con.ConnectionString = "DSN=meinDnsName"
con.Open
 
Naja eben zu beschreiben was ein objekt ist wuerde etwas weit gehen ;)

Fuer ASP (als nicht oop sprache //OOP Programmierer verzeiht mir ! :)) kann mann sagen :

Ein ASP Objekt bindet Funktionen an ein objekt mit denen das Objekt "gesteuert" werden kann.
Also ein Connection objekt das mann wie gesagt:

Set con = Server.CreateObject("ADODB.Connection")

erzeugt mit dem namen con bietet z.b folgende Funktionen.
con.Open
con.Execute VarMitSql
con.Close

So gibt es in ASP eine Reihe Objekte fuer verschiedene Moeglichkeiten
Recordset ist ebenso ein Objekt mit dem mann alltaeglich arbeitet.
Das Recordset ist der Satz Daten den dir die Datenbank aufgrund deines Befehls presaentiert.

Set rs = Server.CreateObject("ADODB.Recordset")


Durch die Funktionen des objektes Recordset :
rs.movefirst
rs.movenext
rs.movelast
usw

Kann mann steuern auf welche Zeile in den erhaltenen Daten gezeigt wird.
Sprich wenn du dir eine Tabelle vorstellst die du von der DB erhaest so zeigt ein imaginaerer Zeiger auf die 1. Zeile im Recordset (Tabelle)
Durch rs.movenext wird der zeiger auf die naechste Zeile geschoben so das du diese Zeile auslesen kannst.
rs.movelast setzt auf die naechste zeile.

rs.eof ist zum beispiel
recordset - end of
das heisst nach der letzten zeile

drum kann mann seine daten wie folgt abrufen
rs.movefirst 'geh zur 1. Zeile der daten

do while not rs.eof 'solange Datenende nicht erreicht
Response.Write rs("Name")
' Schreibe aus der aktuelle Zeile inhalt spalte name
rs.movenext ' geh zur neachsten Zeile
loop ;nochmal

ist im grund so ziemlich das selbe wie
while($data = mysql_fetch_array($query))
{
echo $data["Name"];
}
 
cool danke
also ist php und asp doch etwas unterschiedlicher als ich dachte :)

ich werd mal n bisschen rumprobieren
wär geil wenn ich das ganze dann lokal testen könnte.. asp und apache funzt nicht so gut oder?
wie stell ichs am besten an dass ich lokal testen kann? [hab auf 2 partitionen XP und win98 se [xp wär mir lieber] apache mit php hab ich, mysql db, aber werd vorläufig mit access rumtesten denk ich
falls das empfehlenswert ist

sorry ich spam dich hier schön mit fragen zu..
 
kein Problem :)

Mit WinXP hast du wenn ich mich nicht taeusche den IIS mit dabei.
Weis ich nicht genau da ich XP nicht fahre.
Den eingebauten microsoft webserver. Falls nicht gibt es zwei moeglichkeiten:
du nimmst den PWS Personal Web Server der ist auf jeden fall dabei.
Oder besser laedst dir den IIS Internet Information Server in der Version 5 runter.

Zu den unterschieden zwischen ASP und PHP habe ich ein Tutorial geschrieben in Programming Tutorials :

Teil I

http://www.tutorials.de/forum/showthread.php?threadid=6466

Teil II

http://www.tutorials.de/forum/showthread.php?threadid=6466

Es gibt auch Apache asp aber das habe ich nur auf meiner Linux partition laufen. Auf win2k ist ASP ja beim IIS dabei.

Access ist gut zum testen. Eine SQL Datenbank lohnt sich lokal gar nicht. Ich habe Speedtests durchgefuehrt Access haelt in allem mit. Einzig und allein bei einem Mehrfachzugriff gibts merkbare unterschiede was aber lokal nicht passiert.
 
WIN XP & IIS/PWS

Zu WINDOWS XP + den IIS oder PWS kann ich aus gestriger Erfahrung aus sagen, das der IIS/PWS nur unter WIN XP Professional laufen.
Mit der Homeedition haste keine Chance. (ist von micros. so gewollt)

Aber unter WIN 98 SE mit dem PWS gehts.
 
danke ihr 2, hab vor euren posts n bisschen rumgesucht und auf der xp cd doch tatsächlich son IIS dings gefunden, und installiert. konntes noch nicht testen, [aus zeittechnischen gründen..] aber werd ich machen sobald ich dazu komm.
@fly die tuts hab ich schon vorher gelesen, danke trotzdem ;]
@deemax ich hab prof. aber danke für die info

wünscht mir glück [sonst komm ich wieder hrhr ;)]
 
Zurück