hoschi: ohne odbc eine verbindung

hi, kann mir einer von euch sagen, wie ich folgendes script auch ohne ODBC öffnen kann? was muß ich da umbauen, damit der server direkt auf die datenbank zugreift, ohne odbc-hilfe?

------------------ START -------------------
<html>
<head>
 <title>Eingabe</title>
</head>

<body>

<%
function rw(text)
 response.write text & ""
end function

IF request.form("passwort") = "d" THEN session("valid")=TRUE

IF session("valid")=FALSE THEN %>
 <form action="eingabe.asp" method="POST">
 Passwort : <input type="Password" name="passwort"><input type="Submit" name="sub" value="ok">
 </form>
<% ELSE
set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "test", "sa", ""

IF request("new")<>"" OR request("new2")<>"" THEN
 SQL = "INSERT INTO t_news (textfeld, textfeld2) VALUES('" & replace(request("new"), "'", "''") & "','" & replace(request("new2"), "'", "''") & "')"
 SET xbut = conn.Execute(SQL)
END IF

IF (request("old")<>"" OR request("old")<>"") AND request("ID")<>"" THEN
 SQL = "UPDATE t_news SET textfeld = '" & replace(request("old"), "'", "''") & "', textfeld2='" & replace(request("old2"), "'", "''") & "' WHERE ID = " & request("ID")
 SET xbut = conn.Execute(SQL)
END IF

IF request("kill")<>"" THEN
 SQL = "DELETE FROM t_news WHERE ID = " & request("kill")
 SET xbut = conn.Execute(SQL)
END IF

%>
 <form action="eingabe.asp" method="POST">
 <textarea name="new" cols="80" rows="10" wrap="PHYSICAL"></textarea>
 <textarea name="new2" cols="80" rows="10" wrap="PHYSICAL"></textarea>
 <input type="Submit" name="sub" value="neuen Eintrag hinzufügen">
 </form>
 <HR>

<%
 SQL = "SELECT ID, textfeld, textfeld2 FROM t_news ORDER BY datum DESC"
 SET xbut = conn.Execute(SQL)
IF xbut.eof = TRUE THEN
 rw "sorry,... Keine Eintragungen gefunden...!"
END IF
DO WHILE NOT xbut.EOF %>

<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td>
 <form action="eingabe.asp?id=<%=xbut("id")%>" method="POST">
 <a href="eingabe.asp?kill=<%=xbut("id")%>" target="_self">löschen</a><br>
 <textarea name="old" cols="80" rows="10" wrap="PHYSICAL"><%= xbut("textfeld") %></textarea>
 <textarea name="old2" cols="80" rows="10" wrap="PHYSICAL"><%= xbut("textfeld2") %></textarea>
 <input type="Submit" name="sub" value="ändern"></form>
 </td></tr></table><br>
 <%
 xbut.MoveNext
LOOP

xbut.close
conn.close
SET xbut = Nothing
SET conn = Nothing

END IF
%>

</body>
</html>

------------------ ENDE -------------------

  1. Moin!

    hi, kann mir einer von euch sagen, wie ich folgendes script auch ohne ODBC öffnen kann?

    Oh. Ich würde ganz schnell Perl oder PHP installieren und das ein wenig umschreiben. Das heisst: was ist es denn für eine Datenbank oder Datenbankmanegementsystem? Das wäre nämlich für die Beantwortung der Frage sehr wichtig. Das weiß ich schon, obwohl ich von ASP überhaupt keine Ahnung habe. Liest sich aber wie eine Mischung aus in HTML eingebetteten PHP und Visual Basic.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Hi fastix,

      dass du aber auch immer wieder negativ auffallen musst, kann mir nicht vorstellen, dass man mit solchen Allüren als Freiberufler gut bestehen kann...

      Oh. Ich würde ganz schnell Perl oder PHP installieren und das ein wenig umschreiben.

      Wozu? Meinst du das bringt ihn weiter? Es wird sicher seine Gründe haben, warum er ASP verwendet.

      Ein bischen dumm?

      Deine Antwort hatte NULL Wert in Bezug auf die Frage, du hast lediglich mal wieder deine Dummheit bewiesen (siehe »» ... obwohl ich von ASP überhaupt keine Ahnung habe...) .

      Ganz so fern lagst du mit deiner Vermutung (leider) nicht, auch wenn dein Bezug auf PHP sinnfrei ist. ASP Anfänger neigen dazu noch viel ASP Logik mit HTML Ausgaben zu vermischen. Das ändert sich aber nach ca. 6 Monaten, +/- ein paar, je nach Lernfähigkeit.

      Übrigens, jedesmal, wenn du solch hirnlose Antworten auf Fragen gibst von dessen Materie du nichts verstehst, riskierst du einen Anschiss.

      So long,
      Frank

      1. Moin!

        Hi fastix,

        High Frank!

        Da Du die Kernfrage meines Postings ebenso oberlehrerhaft wie geflissentlich überlesen hast gebe ich Dir folgendes gern zurück:
        <img src="/images/14.gif" border="0" alt="">

        Deine Antwort hatte NULL Wert in Bezug auf die Frage,

        Deine ebenso.

        Übrigens, jedesmal, wenn du solch hirnlose Antworten auf Fragen gibst von dessen Materie du nichts verstehst, riskierst du einen Anschiss.

        Lies einfach weiter. Lerne lesen und verstehen. Wenn das funktioniert, dann scheiße an, wen Du willst.

        Ach ja ich erspare Dir das Suchen in meinem außergewöhnlich kurzem Text- meine Frage an den Frager war:

        was ist es denn für eine Datenbank oder Datenbankmanegementsystem? Das wäre nämlich für die Beantwortung der Frage sehr wichtig.

        So long,

        So lang.

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
        1. Ach fastix,

          ... nein, dass ich dumm bin, hat mir außer dir noch keiner vorgehalten, eventuell folgen da noch einige aus diesem Forum, die vom selben Kaliber sind wie du, fachlich unqualifiziert, gemeindumm und dreist.

          Meinen konstruktiven Beitrag habe ich absichtlich in einen separaten Post gesetzt.

          Du vergisst wohl deinen Nachsatz zur Kernfrage:

          Das weiß ich schon, obwohl ich von ASP überhaupt keine Ahnung habe.

          Du hast auf die Ausgangsfrage unkonstruktiv geantwortet, ich direkt auf deinen geistigen Dünnpfiff UND mit einem separaten Post fachlich auf die Ausgangsfrage.

          Also bitte, tu dir selbst einen Gefallen und halt dich aus Sachen raus, wo du nichts von verstehen tust/willst. Nicht mir zuliebe, sondern dem Niveau des Forums zuliebe.

          Tschau, tschüss und bis zum nächsten Mal
          Frank

          1. Moin!

            Ach fastix,

            Ach Frank!

            ... eventuell folgen da noch einige aus diesem Forum, die vom selben Kaliber sind wie du, fachlich unqualifiziert, gemeindumm und dreist.

            Dein Posting ist arrogant. Arroganz ist eine besondere Kombination von Dummheit, sozialer Inkompetenz und Dreistigkeit. Ist das Dein Kaliber?

            Wenn es mir meine Erziehung nicht verbieten würde, so würde das Wort nach "Du bist ein" schon zu nennen wissen, welches angebracht wäre.

            Hier fehlt was.

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
            1. Hi,

              ich hab mich gestern abend dafür entscheiden können, dass du ab sofort Narrenfreiheit genießt. :-)

              Aber dennoch, für dich noch mal zum mitmeißeln (damit du siehst, wo du den Fehler begangen hast):

              Es ging nicht um deine vernünftig gestellte Gegenfrage sondern um solch dämliche Äußerungen davor und danach, wie:

              Oh. Ich würde ganz schnell Perl oder PHP installieren und das ein wenig umschreiben.

              Dieser Vorschlag ist so unwesentlich wie schlicht und ergreifend fachlich sinnlos.

              Das weiß ich schon, obwohl ich von ASP überhaupt keine Ahnung habe. Liest sich aber wie eine Mischung aus in HTML eingebetteten PHP und Visual Basic.

              Falls du ein wenig Fachverständnis haben würdest, hättest du ihm eine Antwort geben können wie meine, in dem die Möglichkeiten und Alternativen beschrieben sind.

              Da du dich aber gebrüstet hast, "es schon zu wissen", und dann trotzdem nur ne Gegenfrage zusammenstammeln kannst, auf welche du dann keine fachliche Antwort geben könntest, die du nicht schon ursprünglich hättest geben können, kann man (speziell ich - aber andere Leser dieses Forums werden es vielleicht genauso sehen) dir nur das Prädikat "dumm" zugestehen.

              In anderen Posts: [pref:t=65335&m=371879] beweist du positiverweise fachliche Kompetenz. In diesem Post ging es ja auch um dein Fachgebiet PHP. Du hast einfach den Fehler gemacht, anmaßend mit oben zitierten Phrasen in einem dir fremden Fachgebiet zu antworten. Und das nicht zum ersten Mal. Und dafür, dass du den selben Fehler zweimal begehst, ohne daraus zu lernen: Prädikat _dumm_

              Da hilft dir weder dein Markenname, noch, dass du Autodidakt bist.

              Ich hoffe, jetzt ist bei dir der Knoten endlich mal geplatzt und du hast verstanden, warum ich dich angemacht habe.

              Ja, ich bin arrogant und zynisch wenn ich auf solche Kaliber wie dich stoße!

              Wie gesagt, poste von mir aus zukünftig, was du willst ...

              Viel Spass noch,
              Frank

              P.S. bitte ändere auf deiner Homepage mal die ausgeschriebene Variante von SQL: von "Standarded Q(u)erry Language" auf "Structured Query Language" ... sieht einfach korrekter aus

              1. Moin!

                Da du dich aber gebrüstet hast, "es schon zu wissen", und dann trotzdem nur ne Gegenfrage zusammenstammeln kannst, auf welche du dann keine fachliche Antwort geben könntest, die du nicht schon ursprünglich hättest geben können, kann man (speziell ich - aber andere Leser dieses Forums werden es vielleicht genauso sehen) dir nur das Prädikat "dumm" zugestehen.

                Auch das ist, sagen wir mal: ein Annahme von Dir.

                Da ich erkennen kann, das es "aussieht wie wie in HTML eingebettes Visual Basic" (Zitat aus der Erinnerung) sollte klar sein, daß ich zumindest mit der Syntax von demselben ein gaaaanz klein wenig vertraut bin. Diese ist ja bei VB, VBA und VBS sehr ähnlich. Was hätte mich also bei Vorliegen einer Antwort auf meine Frage und (noch) bestehendem Mangel an einer besseren Auskunft auf die Frage des Urposters daran hindern sollen, in eines der etlichen hier herumstehenden Bücher zu schauen? Zumindest für Access oder den MSSQL- Server hätte ich die Antwort gewißlich finden können. Ich hab das schon oft so gemacht... Das ist genau genommen einer der Wege, wie ich mir selbst was zum Lernen raussuche.
                Nur habe zugegebenermaßen, gegenüber jemanden, der es auswendig herbeten kann, einen "kleinen" Mehraufwand. Da hake ich glatt lieber nach.

                Danke für den Tip mit SQL.

                MFFG (Mit freundlich- friedfertigem Grinsen)

                fastix®

                --
                Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
          2. Moin!

            Ach fastix,

            Ach Frank (II)

            Du hast auf die Ausgangsfrage unkonstruktiv geantwortet,

            Du hast immer noch nicht lesen gelernt. Wieso ist es unkonstruktiv, wenn ich den Frager um eine notwendige Spezifierung des Problemes bitte? - Antworte hierauf oder "Gehe mir aus der Sonne!" (Zitat: Diogenes)

            Die Frage ist nämlich erst zu beantworten, wenn man die verwendete Datenbank kennt. Alles andere ist "Glasgooglei".

            Du solltest Dich darin üben, mit unangebrachter, unsachlicher und absolut unhöflicher Kritik hinter dem Berg zu halten. Du hast Dich schlicht bei den Argumenten und bei der Wortwahl vergriffen.
            Ich gehe davon aus, daß ich Dir den Tag nicht mehr verderben konnte. Um so zu reagieren wie Du muß man bereits ziemlich übelgelaunt sein.

            Gute Besserung!

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
      2. Moin!

        Hi fastix,

        Hallo Frank.

        Ja, was mir noch aufgefallen ist: wo ist der konstruktive Teil Deines Beitrages?

        Don't feed the trolls

        So long,
        Frank

        Siehst Du? Ich kann das auch.

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  2. Hi,

    ich hab noch nie versucht, ob man da irgendwas konfigurieren muss, aber ich glaube eigentlich nicht. Es muss nur der entsprechende "allgemeine" Treiber für die Datenbank installiert sein, dann kannst du ohne weiteres so auf die DB zugreifen:

    Set connection = Server.CreateObject("ADODB.CONNECTION")
    connection.Open "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; DBQ=" & Server.MapPath("Datenbank/datenbank.MDB") & ";"

    MfG
    Rouven

    --

    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hi,

      ich hab noch nie versucht, ob man da irgendwas konfigurieren muss, aber ich glaube eigentlich nicht. Es muss nur der entsprechende "allgemeine" Treiber für die Datenbank installiert sein, dann kannst du ohne weiteres so auf die DB zugreifen:

      Set connection = Server.CreateObject("ADODB.CONNECTION")
      connection.Open "DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)}; DBQ=" & Server.MapPath("Datenbank/datenbank.MDB") & ";"

      MfG
      Rouven

      danke für eure antworten! (halt speziell an die, die nicht im "streitberich" sind ;-))

      hab das jetzt hinbekommen mit dem script. ein freund hat´s mir noch um eine kleinigkeit geändert. das sieht bei mir jetzt so aus und funktioniert:

      Set conn = Server.CreateObject("ADODB.Connection")
      conn.Open "UID=;PWD=;PROVIDER=MSDASQL;" & _
      "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
      "DBQ=" & server.mappath("testdb.mdb")

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

      danke!

      1. Hi,

        du nutzt aber immernoch den ODBC Layer ... das 5. Rad am Wagen, wenn man eh OleDB als Provider zur Verfügung hat. ODBC in dem Fall ist ein unnötiger, unperformanter Umweg ...

        Gruß, Frank

  3. Hi

    dein "test" beim öffnen der Connection steht für einen DSN (in dem fall ein System/Benutzer DSN - was unerheblich ist).

    Dieser DSN beschreibt einfach den zu verwendenden ODBC Treiber und die Verbindungseigenschaften.

    Du kannst den DSN aber auch direkt durch deren Inhalt ersetzen, was aber immer noch bedeuten würde, du nutzt ODBC.

    Für verschiedene DBMS gibt es aber auch OleDB Provider:

    MS SQL Server:  SQL OleDB (von MS)
    MS Access:      JET OleDB (von MS)   bei Win2k meist Jet v4.0
    Oracle:         Oracle OleDB (von Oracle otn.oracle.com)

    SQL OleDB und Jet.4.0.OleDB sollten eigentlich immer auf Win2000 ++ Systemen verfügbar sein.

    für SQL OleDB sähe dein ConnectionString evt. so aus:

    "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=qpo2;Data Source=RAP1T82C\VS7SQL"

    Jet.4.0.OleDB etwas anders:

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\apps\app1\db\data.mdb;User ID=admin;Password=sa;"

    Für MySQL ist mir momentan nur ein ODBC Treiber bekannt, welchen du aus Bequemlichkeitsgründen via Windows ODBC Manager einstellen solltest.

    Du kannst auch einfach mal eine .udl Datei (universal data link) anlegen und doppelklicken, da wirst du auch schrittweise zum Bau eines ConnectionStrings geführt, wenn du diese .udl dann mit einem Texteditor öffnest, kannst du den ConnectionString eigentlich direkt entnehmen.

    Hoffe, das hilft dir weiter.

    Viele Grüße und gutes gelingen, Frank