Avatar billede Jman Praktikant
31. august 2004 - 11:16 Der er 19 kommentarer og
1 løsning

Item cannot be found in the collection corresponding to the reque

Ja, normalt er det jo fordi jeg spørger efter et felt, der ikke findes, men det *ved* jeg det gør og derfor er jeg forvirret.
Jeg er ved at flytte asp-sider fra en server til en anden og får denne fejl:

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

Det virker på den gamle server, men ikke på den nye. Her er brudstykker af min kode:
---------------------- DB-kald: ----------------------
  <%
  Set dbOracle = CreateObject("ADODB.Connection")
  get_adno = request.querystring("ordrenummer")
  strConn = "DSN=SAOracle;Database=pub;uid=drs;pwd=drs"
  dbOracle.Open strConn
  strSQL = "Select distinct p.prmethod, p.adno, a.adrname, p.xsize, p.ysize, p.ready, a.ad_type, a.receiver, a.maker FROM pub p, ad a WHERE p.pdate=(select pdate from calendar where paper='DRS') and p.adno=a.adno and a.ad_type in ('A','I','R','X') and ready = 'G' order by a.ad_type, p.ready"
  Set rsOracle = CreateObject("ADODB.Recordset")
  rsOracle.Open strSQL, dbOracle,1,2
  %>

---------------------- denne fejler ----------------------
response.write rsoracle("prmethod")

- og det er *kun* dette felt?!? ... Hvis jeg fjerner dette felt i visningen (ikke engang i db-kaldet), er der ingen fejl..
Avatar billede ldanielsen Nybegynder
31. august 2004 - 11:24 #1
Jeg er forvirret! når jeg er nødt til at bruge punktummer i min SELECT, så kan jeg under ingen omstændigheder hente kolonnerne med deres navn, har du kunnet det før, og kan du stadig gøre det med nogle kolonner?

Man løsning er; navngiv kolonnerne med AS: SELECT Select distinct p.prmethod AS p_prmethod, p.adno AS p_adno, ...

ELLER hent dem med index:
response.write rsoracle(0)
Avatar billede Jman Praktikant
31. august 2004 - 11:34 #2
Det der forvirrer mig er at det funger på den gamle server endnu. Det er en 100% kopi af asp-siden, der ligger på begge servere.
Det er en forespørgsel mod oracleserver, og det hele virker... ellers :(
Avatar billede tobocom Nybegynder
31. august 2004 - 11:47 #3
Umiddelbart kan jeg ikke se nogen fejl, har du tjekket Oracleserveren rettigheder på de pågældende tabeller om anonym bruger har rettigheder til at lave SELECT mv. Har en del gang lavet denne fejl selv når jeg har flyttet basen til en anden server dog med en SQL-server
Avatar billede tobocom Nybegynder
31. august 2004 - 11:49 #4
Du kunne også prøve dette:

strSQL = "Select distinct p.prmethod as nymethod, p.adno...

---
response.write rsoracle("nymethod")
Avatar billede Jman Praktikant
31. august 2004 - 12:23 #5
hmm .. det virker heller ikke.. i øvrigt bliver der forespurgt på oracleserveren smo adminstrator, så der er heller ikke rettigheder...
Avatar billede ldanielsen Nybegynder
31. august 2004 - 12:36 #6
Det må skyldes at du bruger en anden driver til at connecte på den nye server.

Jeg kender ikke oracle, kan man ikke bruge AS?
Avatar billede Jman Praktikant
31. august 2004 - 13:30 #7
jeg kan ikke forestille mig at det har noget med connection at gøre.
Jeg henter jo andre felter i DB'en uden problemer
Avatar billede tobocom Nybegynder
31. august 2004 - 14:08 #8
Selv om du er logget på som administrator tilgår du jo ikke webben som administrator, med mindre du har bedt den om det.
Avatar billede Jman Praktikant
31. august 2004 - 14:19 #9
Nej, jeg tilgår med en fast bruger/pass, som vi har på alle DB'er.
Men igen; det virker jo på den ene side, men ikke den anden identiske og hvis jeg kan hente andre felter fra den samme DB kan det vel ikke være connection
Avatar billede tobocom Nybegynder
31. august 2004 - 15:11 #10
Og du er 100% sikker på at feltet prmethod ligger i tabellen
Avatar billede Jman Praktikant
31. august 2004 - 15:15 #11
mere end 100% - som tidligere beskrevet, så virker den på vores gamle server
Avatar billede tobocom Nybegynder
31. august 2004 - 21:53 #12
Ja så er jeg løbet tør for gode råd. Men jeg vil tro der er et ellers andet enten rettigheder, tabel-struktur, navngivning som du ikke har fået med over. Og du har selvfølgelig prøvet kun at trække prmethod ud alene for at se om det giver fejl.
Avatar billede ldanielsen Nybegynder
01. september 2004 - 00:54 #13
DSN=SAOracle skriver du, så du har opsat en ODBC forbindelse på serveren. I dens indstillinger angiver du hvilken driver der anvendes, check at det er samme version som på den gamle server.
Avatar billede Jman Praktikant
02. september 2004 - 07:13 #14
ldanielsen: Jeg forstår ikke hvordan det skulle gøre en forskel...
Jeg er med på at en nyere version kunne give problemer, men så skulle det jo være for alle felter i pub-tabellen og ikke kun ét enkelt.
Avatar billede ldanielsen Nybegynder
02. september 2004 - 09:03 #15
Der er åbenbart forskel på den nye og den gamle server, og det gælder om at finde ud af hvilken der har betydning. Når man har undersøgt alt muligt må man fortsætte med det umulige.

Idet du vil vise et navngivent felt, som ikke findes (du selecter "p.prmethod", og beder derefter om at se "prmethod"), og det så overhovedet kan lade sig gøre, så må det være driveren der ordner det.

Mit gæt er at det specielle ved prmethod er at der også findes et felt af det navn i tabellen ad
Avatar billede Jman Praktikant
02. september 2004 - 10:20 #16
men hvis vi går ud fra at det er det; hvad kan jeg så gøre ?
- i forhold til ovenstående connection
Avatar billede Jman Praktikant
02. september 2004 - 10:23 #17
hvis jeg ændrer til a.prmethod får jeg at vide at kolonnenavn er ugyldigt, så den eksisterer ikke i begge tsabeller
Avatar billede Jman Praktikant
02. september 2004 - 10:27 #18
OKAY - nu har jeg fået det til at virke.
Jeg fjernede ",1,2" i linien "rsOracle.Open strSQL, dbOracle,1,2"

Så nu er jeg meget nysgerrig efte hvad de tal egentlig betyder (tidligere har jeg ikke skulle bruge dem, så jeg har ikke sat mig ind i dem)
og smid lige et svar ldanielsen :)
Avatar billede ldanielsen Nybegynder
02. september 2004 - 10:35 #19
Syntaksen er

recordset.Open Source, ActiveConnection, CursorType, LockType, Options

så 1 og 2 er hhv. CursorType og LockType

CursorType 1 er adOpenKeyset
LockType 2 er adLockPessimistic

når du ikke angiver dem er default 0, 0 eller adOpenForwardOnly, adLockReadOnly

Hvordan det skulle kunne betyde noget forstår jeg ikke.

ADO beskriver her:

http://msdn.microsoft.com/library/en-us/ado270/htm/adostartpage1.asp

hvordan det skulle have betydning forstår jeg ikke
Avatar billede Jman Praktikant
02. september 2004 - 10:47 #20
thanx anyways
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