31. august 2004 - 11:16Der 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..
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)
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 :(
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
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
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.
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.
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.
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
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 :)
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.