Avatar billede buzz Nybegynder
18. februar 2002 - 08:47 Der er 3 kommentarer og
1 løsning

Problemer med VBS og Oracle db

Jeg har lavet et ASP script som henter en række data fra en Oracle database, dette ASP script vil jeg gerne lave om til et VBS script så jeg kan afvikle det gennem min MS SQL servers job agent.

Men at få det til at virke som VBS volder mig lidt problemer. Jeg har vedlagt mit script i en simplificeret udgave. Håber der er nogen som har et forslag.


ASP script (som virker):

<%
lon_dsn        = "oDSN"
lon_user      = "test"
lon_password  = "test"
lon_tabel      = "tbltest"

lon_dbConnection = "dsn=" & lon_dsn & ";uid=" & lon_user & ";pwd=" & lon_password & ";"

Set Conn = CreateObject("ADODB.Connection")
Conn.Open lon_dbConnection

Set rs = Conn.Execute("SELECT * FROM " & lon_tabel & " WHERE afd_nr <> 30010 AND afd_nr <> 30210 AND afd_nr <> 10110 and medarb <> 898 ORDER by medarb")

  Do While Not rs.EOF

    Response.Write rs("kaldenavn") & "<br>"

  rs.MoveNext
  Loop

rs.Close
Conn.Close
%>






VBS script (som ikke virker):

lon_dsn        = "oDSN"
lon_user      = "test"
lon_password  = "test"
lon_tabel      = "tbltest"

lon_dbConnection = "dsn=" & lon_dsn & ";uid=" & lon_user & ";pwd=" & lon_password & ";"

Set Conn = CreateObject("ADODB.Connection")
Conn.Open lon_dbConnection

Set rs = Conn.Execute("SELECT * FROM " & lon_tabel & " WHERE afd_nr <> 30010 AND afd_nr <> 30210 AND afd_nr <> 10110 and medarb <> 898 ORDER by medarb")

  Do While Not rs.EOF

    Response.Write rs("kaldenavn") & "<br>"

  rs.MoveNext
  Loop

rs.Close
Conn.Close


Fejlen jeg får er:
I linie 9, Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC driver for Oracle][Oracle]ORA-12505: TNS: Listener kunne ikke tolke SID givet i forbindelses-descriptor
Avatar billede wilco Nybegynder
18. februar 2002 - 09:14 #1
Hej Buzz

Det er ikke en VBS fejl, du beskriver der, men ODBC/Oracle fejl.

På din Oracle server kører en service der hedder TNSListner, som fortolker det navn som du sender med i din connect string.

Mit gæt er at du, i din ODBC driver har angivet et forkert Service name.

Prøv at kike i den fil på dit lokal drev som hedder tnsnames.ora, så kan du se hvilke service names du har defineret.

m.v.h.

Wilco
Avatar billede buzz Nybegynder
18. februar 2002 - 11:33 #2
Hej wilco,

Jeg har kigget i min tnsnames.ora og på min System DSN, men kan ikke se hvor filmen knækker. Nu er jeg ikke den store Oracle haj, men jeg kan ikke forstå at der skulle være en fejl når jeg kan afvikle mit ASP script uden fejl.

/Buzz
Avatar billede wilco Nybegynder
18. februar 2002 - 13:11 #3
Hej Buzz

Jeg har lige taget et kik nærmere på min ODBC.

Jeg sidder på en win 2k

Under Service name har jeg STC

og her er et uddrag fra min tnsnames.ora

STC.test.DK =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = STC)
    )
  )

Som du kan se har jeg et domain på som hedder test.dk, så for at jeg bare kan angive stc skal jeg have følgende i filen SQLNET.Ora

NAMES.DEFAULT_DOMAIN = test.dk

Hvis den linie ikke er der skal du fuldt kvalificerer service navnet : STC.test.dk

ellers smid mig din mail addy, så kan vi maile lidt mere sammen :)

//Wilco
Avatar billede buzz Nybegynder
18. februar 2002 - 14:05 #4
Jeg har lokaliseret fejlen. Der opstår en konflikt i min tnsnames.ora.

Hvis jeg ændre navnet fra nywilma.world til fx testwilma.world opstår fejlen ikke længere, grunden er nok at den konflikter med Host = nywilma.

nywilma.world =
  (DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS =
          (COMMUNITY = tcp.world)
          (PROTOCOL = TCP)
          (Host = nywilma)
          (Port = 1521)
        )
        (ADDRESS =
          (COMMUNITY = tcp.world)
          (PROTOCOL = TCP)
          (Host = nywilma)
          (Port = 1526)
        )
    )
    (CONNECT_DATA = (SID = PROD)
    )
  )

Jeg siger tak for din inspirationen. (dejligt så kommer jeg hjem i dag).


/Buzz
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