Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Fordi konstanten adCmdText er defineret i det typelibrary som METADATA-elementet refererer til og hvis det hjælper at udskifte adCmdText med 1, så er det fordi adCmdText ikke findes og dermed konkluderer jeg at METADATA-elementet ikke er kendt på den side, hvor fejlen opstår. Det er altså, i mine øjne, symptombehandling at udskifte konstanten adCmdText med 1, da der åbenbart er noget andet galt (som måske kan få konsekvenser andre steder i systemet). Derfor er det bedre at løse kilden til problemet, end at løse de problemer som det egentlige problem forårsager :-)
softspot > Ja, så snart man lige forstår hvad der menes. Helt konkret mener du ikke at meta-tag'et er inkluderet på siden? Jeg har desværre ikke adgang til koden her, men jeg tjekker lige op på det i næste uge, så vender jeg lige tilbage :)
Ja, enten på siden eller i global.asa (som jeg beskriver i min artikel om parameterisering med ASP og ADO: http://www.eksperten.dk/guide/1250).
Hvis du har inkluderet den i global.asa og det stadig ikke fungerer, skal du have undersøgt om den side der ikke fungerer evt. ligger i en "virtual application". I så fald vil den måske ikke være omfattet af den global.asa, som ligger i roden og derfor skulle have sin egen global.asa med tilhørende METADATA-element.
Det kommer an på om v2 definerer en ny application (en Virtual Application som f.eks. kan sættes op i IIS-management for en given mappe under et rodsite). Hvis den gør det, så skal der ligge en ny global.asa i mappen "v2", som indeholer METADATA-elementet, men ellers bør (må?) der ikke ligge en global.asa andre steder end i roden af et site (eller Virtual App).
Noget kunne dog tyde på, at du har gang i en Virtual App, hvis de ændringer du laver i global.asa ikke slå igennem på dine sider. Alternativt er din webserver ikke sat op til at genstarte applikationen når der ændres i global.asa og ændrigner vil derfor ikke slå igennem før applikationen startes (i dette tilfælde vil jeg tro man skal genstarte sitet igen i IIS-management).
Hmm... alternativet er at komponenten der er installeret på serveren ikke kan identificeres med det GUID dit METADATA-element peger på, eller at der ikke er installeret MDAC i den nødvendige version. Det ville dog være FOR mystisk, hvis dette var tilfældet (med mindre dit site ligger på en Apache Server med Chili!ASP - der er jeg ikke sikker på at det fungerer på samme måde)...
Men hvis det fungerer for andre sites på samme server eller det aktuelle site har fungeret tidligere på samme server - ja, så er jeg lidt blank i fht. hvad årsagen til problemet kan være...
softspot > Ja jeg prøvede både at ligge den oven- og nedenunder script tagget.
Men for at været helt konkret: <% 'Meta-header for ADO/Command object <!-- METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" --> '=========================================================== 'Get title of site ***SKAL OPDATERES*** Function getSiteTitle Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=SQLOLEDB;Data Source=xxx;Initial Catalog=xxx;User Id=xxx;Password=xxxx;" strSQL = "SELECT * FROM gInfo"
Set cmd = Server.CreateObject("ADODB.Command") Set cmd.ActiveConnection = Conn cmd.CommandType = asCmdText cmd.CommandText = strSQL Set rs = cmd.Execute()
Response.Write(rs("info"))
rs.close Conn.close Set rs = Nothing Set Conn = Nothing End Function
Prøv lige dette i stedet (METADATA-elementet SKAL ligge udenfor scriptsektionen):
<!-- METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" --> <% '=========================================================== 'Get title of site ***SKAL OPDATERES*** Function getSiteTitle Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=SQLOLEDB;Data Source=xxx;Initial Catalog=xxx;User Id=xxx;Password=xxxx;" strSQL = "SELECT * FROM gInfo"
Set cmd = Server.CreateObject("ADODB.Command") Set cmd.ActiveConnection = Conn cmd.CommandType = asCmdText cmd.CommandText = strSQL Set rs = cmd.Execute()
Response.Write(rs("info"))
rs.close Conn.close Set rs = Nothing Set Conn = Nothing End Function
Ingen årsag - gem dem til et andet spørgsmål (det ser ud til at du har nok af dem ;-))
Synes godt om
Ny brugerNybegynder
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.