Avatar billede aamodtod Nybegynder
29. juli 2002 - 10:30 Der er 8 kommentarer og
1 løsning

Feil i SQL (insert)

Hei
Jeg får  feil i SQL setningen, når det ligger mange text filer i mappen. Feilen kommer ikke hvis det kun er en text fil som ligger der.

Feilmelding:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Mangler semikolon (;) i slutten av SQL-setningen


Min Kode:


<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../fpdb/registrering_av_pib.mdb")

'Reference the FileSystemObject
set FSO = Server.CreateObject("Scripting.FileSystemObject")

'Reference the Text directory
set Folder = FSO.GetFolder("d:\pks\admin\pibfiler")

Dim SQL, col
SQL = ""

'Reference the File collection of the Text directory
set FileCollection = Folder.Files

'Traverse through the FileCollection using the FOR EACH...NEXT loop
For Each FileName in FileCollection
  strFileName = FileName.Name
  Set myFile = fso.openTextFile("d:\pks\admin\pibfiler\" & strFileName)

 
  SQL = SQL & "INSERT INTO Resultater ("
  strLine = myFile.readLine
  valArr = SPLIT(strLine,";")
  for i = 0 to UBOUND(valArr)
      SQL = SQL & valArr(i)
      if( i <> 28 ) then     
      SQL = SQL & ", "
end if
  next
  SQL = SQL & ") VALUES ("
  strLine = myFile.readLine
  valArr = SPLIT(strLine,";")
  for i = 0 to UBOUND(valArr)
      SQL = SQL & "'" & valArr(i) & "'"
    if( i <> UBOUND(valArr) ) then 
        SQL = SQL & ", "
    end if
Next
'ON Error resume next   
  SQL = SQL  &  ")"
  Response.write SQL   
  Conn.execute( SQL )
  response.write strFileName & " Lagt inn i basen og slettet fra mappen PIBfiler<br>"
  strFileName = FileName.Name
  Set myFile = fso.GetFile("d:\pks\admin\pibfiler\" & strFileName)
  myFile.Delete
Next

'De-reference all the objects
set FileCollection = Nothing
set Folder = Nothing
set FSO = Nothing


response.write "<br><b>Nå var det gjort!!</b>"
Conn.Close

set Conn = nothing
%>

Er det noen som vil hjelpe?

Odd
Avatar billede sbm Nybegynder
29. juli 2002 - 10:34 #1
Ud fra fejlmeddelelsen vil jeg gætte på at

'ON Error resume next   
  SQL = SQL  &  ")"

skal erstattes med

'ON Error resume next   
  SQL = SQL  &  ");"
Avatar billede aamodtod Nybegynder
29. juli 2002 - 10:39 #2
Da kommer følgene feil:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Fant tegn etter slutten av SQL-setningen
Avatar billede sbm Nybegynder
29. juli 2002 - 10:41 #3
Prøv at udkommentere udførslen af SQL sætningen, og udskriv den istedet til din browser. Hvordan ser den ud?
Avatar billede sbm Nybegynder
29. juli 2002 - 10:44 #4
Jeg kan se du allerede prøver at udskrive til browseren, men får det så ikke at se p.g.a. fejl... Bare udkommenter linien
Conn.execute( SQL )

Så burde du kunne læse hvordan din SQL ser ud.
Avatar billede aamodtod Nybegynder
29. juli 2002 - 10:50 #5
Scriptet er rimelg stort, men jeg tar med noe fra SQL'en:

Slutten av første textfil som blir lagt inn:

'Espen');666666.txt Lagt inn i basen og slettet fra mappen PIBfiler
INSERT INTO Resultater (Butikk, Enhetsnummer, Poststednavn, Poststedadresse, Besoksadresse, Telefon, Faks, Beliggenhet

denne ser grei ut og blir lagt inn i basen, men når neste text fil skal inn ser det slik ut:

, 'Ole!');INSERT INTO Resultater (Butikk, Enhetsnummer, Poststednavn, Poststedadresse, Besoksadresse, Telefon, Faks, Beliggenhet, KontaktpersPKS, ApningManFre, Apningstidlor


Og her feiler det...

Odd
Avatar billede sbm Nybegynder
29. juli 2002 - 10:57 #6
Det er ikke lige til at fange....
Kan du ikke rette

Response.write SQL
til
Response.write "<br>" & SQL & "<br>"

og så prøve at smide en større sammenhængende bid af din log her... Ikke kun brudstykker...
Avatar billede aamodtod Nybegynder
29. juli 2002 - 11:03 #7
Måtte bare lage noe test filer, men her kommer det:

INSERT INTO Resultater (Butikk, Enhetsnummer, Poststednavn, Poststedadresse, Besoksadresse, Telefon, Faks, Beliggenhet, KontaktpersPKS, ApningManFre, Apningstidlor, ApningSon, bervdist, Tlf_omdeling, logdist, pbannlegg, boksserie, bokssortert, minibank, kundePC, Prodsort, henetomraade, innlevfrist, innfristlor, klager, nermestepost, reglederPIB, postomraade, sikkerhet) VALUES ('Test', '555555', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');
555555.txt Lagt inn i basen og slettet fra mappen PIBfiler

INSERT INTO Resultater (Butikk, Enhetsnummer, Poststednavn, Poststedadresse, Besoksadresse, Telefon, Faks, Beliggenhet, KontaktpersPKS, ApningManFre, Apningstidlor, ApningSon, bervdist, Tlf_omdeling, logdist, pbannlegg, boksserie, bokssortert, minibank, kundePC, Prodsort, henetomraade, innlevfrist, innfristlor, klager, nermestepost, reglederPIB, postomraade, sikkerhet) VALUES ('Test', '555555', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');INSERT INTO Resultater (Butikk, Enhetsnummer, Poststednavn, Poststedadresse, Besoksadresse, Telefon, Faks, Beliggenhet, KontaktpersPKS, ApningManFre, Apningstidlor, ApningSon, bervdist, Tlf_omdeling, logdist, pbannlegg, boksserie, bokssortert, minibank, kundePC, Prodsort, henetomraade, innlevfrist, innfristlor, klager, nermestepost, reglederPIB, postomraade, sikkerhet) VALUES ('Test', '7777777', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test', 'Test');

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Fant tegn etter slutten av SQL-setningen

/Admin/test3.asp, line 44
Avatar billede sbm Nybegynder
29. juli 2002 - 11:05 #8
Av av... Din SQL bliver ikke nulstillet korrekt.

Din linie med SQL = "" skal naturligvis rykkes indenfor din løkke. (Ca. 4-5 linier ned.)
Avatar billede aamodtod Nybegynder
29. juli 2002 - 11:12 #9
Takk, for hjelpen det fungerte!
Her er dine point.

Hilsen

Odd
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester