webForumDet fria alternativet

Databaskoppling med ASP

7 svar · 468 visningar · startad av Thorsander

ThorsanderMedlem sedan aug. 2001746 inlägg
#1

Det jag vill göra är att via ASPupload ge besökaren möjlighet att ladda upp bildfiler till min databas Access (dynamik.mdb).

Varför får jag nedanstående fel!?

Microsoft OLE DB Service Components error '80040e73' 
Format of the initialization string does not conform to the OLE DB specification. 
/aaa/ny/Insert.asp, line 96

Nedan följer min kod:

<%
' Connection string
Dim connStr
   connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source==" & Server.MapPath("dynamik.mdb")

' Recordset object
Dim rs
   Set rs = Server.CreateObject("ADODB.Recordset")

Här är rad 96

			
   rs.Open "MYIMAGES", connStr, 2, 2
	
   ' Adding data
   rs.AddNew
	rs("filename") = fileName
	rs("filesize") = fileSize
	rs("filedata").AppendChunk fileData
	rs("contenttype") = contentType
	rs.Update
			
	rs.Close
	Set rs = Nothing

   If Err.number = 0 Then
	Response.Write "Insertion into Database complete ...<br>"
	Else
	Response.Write "Could not insert into Database. Errors occured ...<br>"
   End If
%>

Själv kan jag tänka mig att det är i följande rad vis del av problemet finns:

connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source==" & Server.MapPath("dynamik.mdb")

Databasen ligger i d:/internet/domains/rolle.com/tmp

Någon som har någon idé?

Mvh
Simon

LarsGMedlem sedan dec. 200012 464 inlägg
#2
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("dynamik.mdb")

Det var ett = för mycket efter Data Source.

ThorsanderMedlem sedan aug. 2001746 inlägg
#3

:r Hmmm... eehh, som vanligt :)
Dock fick jag ett fortsatt felmeddelande (precis som jag trodde)...

Microsoft JET Database Engine error '80004005'
Microsoft JET Database Engine error '80004005' 

Could not find file 'D:\internet\domains\rolle.com\www\aaa\ny\dynamik.mdb'. 

/aaa/ny/Insert.asp, line 96

Men det löste jag på egen hand :)

Tack så mycket!!!

ThorsanderMedlem sedan aug. 2001746 inlägg
#4

Nytt problem...

Nu har jag fått in data i databasen (bilder och metadata om dessa). Men...

När jag la till två nya input-fält (text och rubrik) så får jag bara in fyrkanter i tabellen i databasen!?!?!
Alltså inte den text man skrivit in i fältet på ASP-sidan...

Följande kod använder jag mig av i insert.asp

<!--#include file="Loader.asp"-->
<%
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

' Value of text input field "header"
Dim nameInput
nameInput = load.getValue("header")

' Value of text input field "text"
Dim textInput
textInput = load.getValue("text")		

' destroying load object
Set load = Nothing
%>

<html>
<head>
	<title>Inserts Images into Database</title>
	<style>
		body, input, td { font-family:verdana,arial; font-size:10pt; }
	</style>
</head>
<body>

<p align="center">

	<%= fileName %> data received ...<br>
	<%
	' Connection string
	Dim connStr
	connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\internet\domains\ngindesign.com\tmp\dynamik.mdb"
		
		' Recordset object
		Dim rs
			Set rs = Server.CreateObject("ADODB.Recordset")
			
			rs.Open "MYIMAGES", connStr, 2, 2
			
			' Adding data
			rs.AddNew
				rs("filename") = fileName
				rs("filesize") = fileSize
				rs("filedata").AppendChunk fileData
				rs("contenttype") = contentType
				rs("header") = nameInput
				rs("text") = textInput
			rs.Update

			rs.Close
			Set rs = Nothing
			
		If Err.number = 0 Then
			Response.Write "Insertion into Database complete ...<br>"
			Else
			Response.Write "Could not insert into Database. Errors occured ...<br>"
		End If
	%>

Vad göra!?

Jag har provat att använda Response.Write på textInput och nameInput
och kan skriva ut dom på skrämen men när jag sedan tittar i databasen
så är det som sagt bara 1 fyrkant i själva tabellen.

!?

ThorsanderMedlem sedan aug. 2001746 inlägg
#5

Never Mind!!!

Det är löst!
:bire

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#6

Hmm, dig tror jag att jag har snackat i telefon med! ;)

ThorsanderMedlem sedan aug. 2001746 inlägg
#7

Hmm, dig tror jag att jag har snackat i telefon med!

Det kan nog stämma :) Incordia va!?

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#8

Jupp! :)

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)