Liegts an mir oder dem Server?

schutzgeist

Erfahrenes Mitglied
Neuer Tag - neues Problem :suspekt:

Ich wollte heute ein Script in mein aktuelles Projekt einbauen, dass ich schon beim letzten verwendet habe.
Da läuft das ganze einwandfrei.

Nur bei der neuen Sache will es einfach nicht.
Ich hab das Skript vom letzten mal genommen (welches ja nachweislich 1a funktioniert) und einfach die versch. Feldnamen dementsprechend umbenannt.

Das ganze dient dazu Dateien auszulesen und sie direkt in die DB zu schreiben.

Hier mal mein Skript
Code:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Loader.asp"-->
<!--#include file="adovbs.inc"-->
<%
  Response.Buffer = True

  ' load object
  Dim load
    Set load = new Loader
    
    ' calling initialize method
    load.initialize
    
  ' File binary data
  Dim fileData
    fileData = load.getFileData("file")
  ' File name
  Dim fileName
    fileName = LCase(load.getFileName("file"))
  ' File path
  Dim filePath
    filePath = load.getFilePath("file")
  ' File path complete
  Dim filePathComplete
    filePathComplete = load.getFilePathComplete("file")
  ' File size
  Dim fileSize
    fileSize = load.getFileSize("file")
  ' File size translated
  Dim fileSizeTranslated
    fileSizeTranslated = load.getFileSizeTranslated("file")
  ' Content Type
  Dim contentType
    contentType = load.getContentType("file")
  ' No. of Form elements
  Dim countElements
    countElements = load.Count
   Dim Quelle
    Quelle = load.getValue("Quelle")
  Dim Datum
    Datum = load.getValue("Datum")
  Dim Titel
    Titel = load.getValue("Titel") 
  Dim Untertitel
    Untertitel = load.getValue("Untertitel")  
  Dim Rubrik
    Rubrik = load.getValue("Rubrik")
  Dim ArtikelURL
    ArtikelURL = load.getValue("ArtikelURL") 

    
  ' destroying load object
  Set load = Nothing
%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Artikel hinzufügen</title>
<link href="../css/gvs.css" rel="stylesheet" type="text/css">
</head>

<body>

<h4>Artikel bearbeiten</h4>  


<table width="680" border="0" cellspacing="5" cellpadding="5">
    <tr>
    <td>
  <h3>Dokumentupload</h3>
  <table width="680" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td bgcolor="#CCCCCC"><strong>Untertitel</strong></td>
      <td align="right" bgcolor="#CCCCCC"><%= Untertitel %></td>
    </tr>
  <tr>
    <td width="139"><strong>File Name</strong></td>
    <td width="541" align="right"><%= fileName %></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC"><strong>File Path</strong></td>
    <td align="right" bgcolor="#CCCCCC"><%= filePath %></td>
  </tr><tr>
    <td><strong>File Path Complete</strong></td>
    <td align="right"><%= filePathComplete %></td>
  </tr><tr>
    <td bgcolor="#CCCCCC"><strong>File Size</strong></td>
    <td align="right" bgcolor="#CCCCCC"><%= fileSize %></td>
  </tr><tr>
    <td><strong>File Size Translated</strong></td>
    <td align="right"><%= fileSizeTranslated %></td>
  </tr><tr>
    <td bgcolor="#CCCCCC"><strong>Content Type</strong></td>
    <td align="right" bgcolor="#CCCCCC"><%= contentType %></td>
  </tr><tr>
    <td><strong>No. of Form Elements</strong></td>
    <td align="right"><%= countElements %></td>
  </tr>
</table>
<p style="padding-left:220;">
  <%= fileName %> data received ...<br>
  <%
    ' Checking to make sure if file was uploaded
    If fileSize > 0 Then
    
      ' Connection string
      Dim connStr
        connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/db.mdb")
        
    
      ' Recordset object
      Dim rs
        Set rs = Server.CreateObject("ADODB.Recordset")        
        rs.Open "Presse", strComplete, 2, 2
        
        ' Adding data
        rs.AddNew
          rs("FileName") = fileName
          rs("FileSize") = fileSize
		  rs("Quelle") = Quelle
		  rs("Datum") = Datum
		  rs("Titel") = Titel
		  rs("Rubrik") = Rubrik
		  rs("ArtikelURL") = ArtikelURL
		  rs("Untertitel") = Untertitel
          rs("FileData").AppendChunk fileData
          rs("ContentType") = contentType
          
        rs.Update
        
        rs.Close
        Set rs = Nothing
        
      Response.Write "<font color=""green"">File was successfully uploaded..."
      Response.Write "</font>"
    Else
      Response.Write "<font color=""brown"">No file was selected for uploading"
      Response.Write "...</font>"
    End If
      
      
    If Err.number <> 0 Then
      Response.Write "<br><font color=""red"">Something went wrong..."
      Response.Write "</font>"
    End If
  %>
</p>
<form name="inserthtm" method="post" enctype="multipart/form-data" action="presseneu.asp">
	<Table width="385" border="0" cellspacing="1" cellpadding="1">
      <tr>
        <td width="115">Artikel vom: </td>
        <td width="378"><input type="text" name="Datum" value="" size="32"></td>
      </tr>
      <tr>
        <td>Quelle:</td>
        <td><input type="text" name="Quelle" value="" size="32"></td>
      </tr>
      <tr>
        <td>Haupttiel:</td>
        <td><input type="text" name="Titel" value="" size="32"></td>
      </tr>
      <tr>
        <td>Untertitel:</td>
        <td><input name="Untertitel" type="text" id="Untertitel" size="32"></td>
      </tr>
	  <tr>
        <td>URL:</td>
        <td><input name="ArtikelURL" type="text" id="ArtikelURL" size="32"></td>
      </tr>
      <tr>
        <td><div align="left">Artikel:</div></td>
        <td><input name="file" type="file" id="file" size="32"></td>
      </tr>
      <tr>
        <td><input type="hidden" name="Rubrik" value="Presse" size="32"></td>
        <td><input type="submit" value="Artikel aktualisieren" class="suche"></td>
      </tr>
    </table>
    </form>
	</p>
	</td>
  </tr>
</table>
</body>
</html>

Nach langem Googlen hab ich dann noch die adovbs.inc eingebunden, was aber auch nichts gebracht hat.
Die loader.asp post ich jetzt mal nicht, da an ihr nichts verändert werden muss.

Jedenfalls bekomm ich folgenden Fehler:
Code:
ADODB.Recordset- Fehler '800a0bb9' 

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. 

presseneu.asp, line 113

Line 113: rs.Open "Presse", strComplete, 2, 2

Die Tabelle heißt aber 'Presse', weiß garnicht, was er da zu meckern hat...
 

Luzie

Erfahrenes Mitglied
Hallo

schau Dir mal den Connection-String an, dann wirst Du den Fehler sehen.

Wenn Du die Ado-Konstanten-Werte nimmst, brauchst Du die Datei adovbs nicht.

Weiterhin noch ein Tipp:

Beim Einfügen eines Datensatzes via ADO würde ich ein Select auf die Tabelle setzen mit einer Bedingung, die nie vorkommen kann z.B.

select * from presse where 1<0
 

schutzgeist

Erfahrenes Mitglied
Luzie hat gesagt.:
schau Dir mal den Connection-String an, dann wirst Du den Fehler sehen.

Hm, nicht wirklich :-(
Hatte vorher stattdessen das drin stehn:

' Connection string
Dim connStr
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
connStr = connStr & Server.MapPath("../_db/db.mdb")

Verursachte aber den selben Fehler.
 

Luzie

Erfahrenes Mitglied
HI

' Connection string
Dim connStr
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
connStr = connStr & Server.MapPath("../_db/db.mdb")

was ist denn strComplete?

rs.Open "Presse", strComplete, 2, 2

Na, fällt jetzt der Groschen? ;-)
 

schutzgeist

Erfahrenes Mitglied
Ahhhhh :eek:
Ich weiß wos herkommt :eek:

Hatte das davor aus complete zusammen gesetzt, da die DB noch nen Passowrtschutz hatte und ichs der übersichthalber auf 4 Zeilen verteilt hatte.

Wenn man den Wald vor lauter Bäumen nicht mehr sieht...
Morgen früh auf der Arbeit gleich mal ändern und probiern :-(
 

schutzgeist

Erfahrenes Mitglied
Funktioniert :rolleyes: :D

Nun steht ich aber schon wieder vor dem nächsten Problem.
Wie bekomm ich das Bild, dass ich eingelesen hab, wieder als Bild angezeigt?

Bisher hab ich dafür immer ne fertige Datei aufgerufen, die es dann dargestellt hat...
Nun soll es aber direkt in der Seite angezeigt werden...

Ich weiß, dass man Bilder eigentlich nicht so in der DB speichert. Hab aber die Anweisung das so zu machen :rolleyes:

Hab jetzt das da: <% Response.BinaryWrite((Mitglieder.Fields.Item("FileData").Value))%>
Nur sollte aus dem Buchstabensalat:
Code:
GIF89a¸%Õ"‘??ÈÇǬ««ÔMnñññ1-.?;<ãããvstÖÕÕ„?‚∞º¹¹LIJhefž??ñÄ΢BEXDC3--Ê!I½'@ûðó~LIꦶ\VWôÒÚßz’vLJ‹WTÛk†ZWXÆ=# ÿÿÿ!ù",¸%ÿ@‘pH,?EÉl:ŸÍÃS =R«Ø¬Äív‰ ¯wÐ š¡´z½n|W!{N†§!  >LsC‚t!Bs CŠub^`?\dH!qE‡œ! Kr?uGŠM!€}!|wt B†t‰s ?‡“\’“•GigH¢‡ª"ÅsvE†yL¬Z¨©H³kKÖlµÊÜÊ» ½?¿I˜išCÉt¦ÈêjËDŽ!ìF jÇUÐÑFÚj„ýj¼±a$??®]âÄ?#LÍ0#îبŠ˜ž¬5ÎŒteZ|…81˜F`ל”pÌ‘Klе£Xr¦;‹(ÙÐ ¹dÿ}i8ò¤SÀÞ!“*S¾· é‚» i¸æ!šmª³Ø/#.6B™x¼Ç¯Ðm99?] ®-%#0ç â@¨ˆ•Î#Ð瑵û†RDšl¥Û¨F¨²Q+!…cŒw(¬‘±=™Ñ%\ÌðáqåaÛ„Õ€Óô†0€GÕ{E?¤ö““ÐÙ¢8‹òüÙ%ÃN8±î¢8sYµº_î„w§äœx÷~;$®hPwÝ`”Ø)Qœûx

[...]
ein Bild werden
 
Zuletzt bearbeitet:

Luzie

Erfahrenes Mitglied
Hi

ups, muss ich jetzt passen.
Keine Ahnung.

Hab ich mich auch noch nie mit beschäftigt weil ich nie meine Bilder so in die Datenbank speichern würde. Das bläht die Datenbank ungemein auf.

Schau doch mal ein der Beschreibung des upload-Scripts nach.
 

schutzgeist

Erfahrenes Mitglied
Ich glaub ich spring gleich im Dreieck :D
Habs tatsächlich hinbekommen.
War leichter als gedacht :eek:

Mein 'Bild' sieht nun so aus

<img src="../presse.asp?ID=<%=(Mitglieder.Fields.Item("ID").Value)%>">
 

schutzgeist

Erfahrenes Mitglied
Komando zurück.
Ich bekomm ein Bild angezeigt... die anderen nicht :(


Lalala, geht doch ;-]
 
Zuletzt bearbeitet:

Torgath

Mitglied
Ich bin mal so frech und entwende diesen Thread für mein Problem... :rolleyes:

Ich kriege ebenfalls die Fehlermeldung:

ADODB.Recordset Fehler "800a0bb9'

Hier mein Code:

Code:
dim vararray(5)
vararray(0) = "varfname"
vararray(1) = "varname"
vararray(2) = "varuname"
vararray(3) = "firstname"
vararray(4) = "name"
vararray(5) = "username"
dim vartable
vartable = tbl_member
dim counter ' ---
counter = 1
dim intpagecounter
intpagecounter = 1
dim pagesize ' --- Definieren der Seitengröße (Anzahl Datensätze pro Seite)
pagesize = 10
dim actpage
actpage = Request("pn")
dim strConn
vararray(0) = Request("firstask")
if vararray(0) <> "" Then 
    strConn = " and " & vararray(3) & " like " & chr(34) & "%" & vararray(0) & "%" & chr(34)
End if
vararray(1) = Request("secondask")
if vararray(1) <> "" Then 
    strConn = strConn & " and " & vararray(4) & " like " & chr(34) & "%" & vararray(1) & "%" & chr(34) 
End if
vararray(2) = Request("thirdask")
if vararray(2) <> "" Then 
    strConn = strConn & " and " & vararray(5) & " like " & chr(34) & vararray(2) & "%" & chr(34) 
End if
set rs = server.CreateObject("ADODB.Recordset")
set cn = server.CreateObject("ADODB.Connection")
rs.PageSize = pagesize
rs.CacheSize = pagesize
cn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(".") & "\db\gad.mdb;" ' Verbindung zur Datenbank wird erstellt
rs.open "Select * from " & vartable & " where 1=1 " & strConn & " order by id ",ocn,3,3

Das seltsame ist, ich hatte den selben Code nur ganz minim anders schon in Betrieb und hat prima funktioniert...

Dies macht mir Probleme und ich weisst nicht weshalb...

rs.open "Select * from " & vartable & " where 1=1 " & strConn & " order by id ",ocn,3,3

Danke für eure Hilfe...