Avatar billede jih Nybegynder
19. januar 2009 - 18:31 Der er 24 kommentarer og
1 løsning

Connect Visual Basic til Oracle

Hej,

jeg har for nylig oprettet et spm her: http://www.eksperten.dk/spm/860282

Jeg troede jeg havde løst problemet, siden det virkede på min arbejdsplads.. men når jeg kom hjem virkede det ikke på denne pc..

den eneste åbenlyse forskel er at på arbejdspladsen er oracle enterprise også installeret, men jeg ville ikke mene at der skulle være den helt store forskel på hvordan xe ville kommunikere med vb?

Jeg kom hjem og oprettede en test tabel i min oracle xe db, og satte den op via http://www.aspfree.com/c/a/VB.NET/Displaying-an-Oracle-10G-XE-Table-with-Visual-Basic-6/2/ som jeg også gjorde på arbejdspladsen, men den giver fejl når jeg prøver på at connecte..

Koden er som følgende:

--
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String

cn.Open "DBNavn", "DBuser", "DBpassword" 'I DBNavn har jeg skrevet det samme navn som jeg valgte i "ODBC Data Source Name"
sql = "select count(*) from tabelnavn"
rs.Open sql, rs

While Not rs.EOF
    MsgBox rs
    rs.MoveNext
Wend

cn.Close
rs.Close
--

Jeg mener ikke der er nogen fejl i connect strengen, men tvivler dog alligevel.. Er der ellers andet der skal gøres for at få adgang til oracle via VB6?
Avatar billede arne_v Ekspert
20. januar 2009 - 03:14 #1
Vil du røbe hvilken fejl du får ?
Avatar billede jih Nybegynder
20. januar 2009 - 09:19 #2
ups.. det glemte jeg: ORA-12154: TNS:could not resolve the connect identifier
Avatar billede inglenook Praktikant
24. januar 2009 - 02:40 #3
1) check at du har en ODBC datasource oprettet for Oracle XE med navnet 'DBNavn'
2) check at filen tnsnames.ora er korrekt udfyldt
3) check at system variablerne ORACLE_HOME og ORACLE_SID findes og er korrekte (control panel > system > advanced > environment variables)
Avatar billede jih Nybegynder
26. januar 2009 - 11:10 #4
inglenook > hvor ligger tnsnames.ora? skal man installere noget for at få det til at virke? jeg downloadede og installerede express versionen via oracle hjemmesiden, men har ikke downloadet noget andet.. ved ikke om jeg skal?

miljøvariablerne er heller ikke satte.. Jeg er ikke ligefrem ekspert indenfor dette område, kunne du guide mig gennem det? :-)
Avatar billede inglenook Praktikant
26. januar 2009 - 12:15 #5
du burde ikke skulle installere andet end express versionen. Paa min maskine bliver tnsnames.ora lagt i C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN naar jeg vaelger default installationsfolder. Mht. system variabler skulle de vaere blevet oprettet da du installerede Oracle XE. Hvis ikke, gaa til control panel > system > advanced > environment variables (kender ikke navnene hvis det er en dansk version du har....) Klik paa New. Under Variable Name skriv ORACLE_HOME, under variable value skriv C:\oraclexe\app\oracle\product\10.2.0\server (hvis det passer med stien paa din maskine), gem, tast New igen, unser Variable name skriv ORACLE_SID, under Variable Value skriv XE, gem.
Du bliver nok noedt til at restarte for at initialisere dine nye variabler.
Avatar billede inglenook Praktikant
26. januar 2009 - 12:54 #6
Naar du har genstartet kan du teste dine system variabler ved at aabne en DOS prompt og skrive: echo %ORACLE_HOME% og echo %ORACLE_SID%
Den skulle saa udskrive de vaerdier du lagde i variablerne. Hvad kaldte du din ODBC datasource ? Connecter den korrekt naar du laver en test fra ODBC ?
Avatar billede jih Nybegynder
26. januar 2009 - 14:09 #7
tnsnames.ora ligger under C:\oracle10\app\oracle\product\10.2.0\server\NETWORK\ADMIN

som du sagde, bare oracle10 istedet for oraclexe.. jeg opretter lige miljøvariablerne, men kan ikke genstarte endnu, siden jeg arbejder på hjemmecomputeren via remote control - så det kan jeg teste senere..

indtil videre mangler jeg så at vide hvad der skal stå i tnsnames.ora? og hvordan syntaxen er, osv..
Avatar billede inglenook Praktikant
26. januar 2009 - 14:21 #8
Du kan se indholdet af min tnsnames.ora herunder. Det vigtigste er den oeverste sektion der, i mit tilfaelde, starter med XE. Check at Host er sat til navnet paa din lokale maskine og at service_name er det samme som din SID. Hvis du laver aendringer skal du restarte din TNS Listener under services.

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xppro02)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )
Avatar billede inglenook Praktikant
26. januar 2009 - 14:22 #9
proevede du at lave en test connection fra ODBC ?
Avatar billede jih Nybegynder
26. januar 2009 - 14:39 #10
min indeholder præcis det samme som din (bortset fra HOST)

men hvad mener du med SID? mener du ODBC dsn eller miljøvariablen? Nej jeg har prøvet at lave test connection før, men har ikke fået det til at virke..
Avatar billede inglenook Praktikant
26. januar 2009 - 14:53 #11
SID ser i dit tilfaelde ud til ogsaa at vaere XE saa lad det vaere for nu. Hvad kaldte du din ODBC datasource (Control Panel -> Administrative Tools -> Datasources (ODBC) -> System DSN) ? Proev at finde den, click Configure og check at du bruger 'Oracle in XE' som driver. Proev saa at lave en test connection derfra (ODBC).
Avatar billede jih Nybegynder
26. januar 2009 - 15:22 #12
der er intet.. jeg kan tilføje en, men skal vælge imellem SQL Native Client og SQL Server.. ved ikke helt hvad jeg skal oprette, og ved ikke hvad jeg skal skrive under den valgte.. jeg kan kun vælge Oracle in XE i en ADO Data Control i selve VB programmet.. hvad så nu? -.-
Avatar billede inglenook Praktikant
26. januar 2009 - 15:46 #13
hmm, Oracle Express Edition skulle have installeret en ODBC driver (Oracle in XE). Har du virkeligt kun de to at vaelge mellem (under System DSN) ? Lyder mystisk ....
Avatar billede jih Nybegynder
26. januar 2009 - 19:29 #14
Avatar billede inglenook Praktikant
27. januar 2009 - 07:42 #15
hov, det ligner jo et screenshot fra en Vista maskine. Hvilken version er det ? (Har hoert Oracle ikke virker paa Home Edition)
Avatar billede jih Nybegynder
27. januar 2009 - 09:19 #16
kører med Windows Vista Ultimate x64 .. Oracle kører fint med Home Edition, det har jeg brugt på arbejdet - før vi skiftede tilbage til XP
Avatar billede inglenook Praktikant
27. januar 2009 - 09:51 #17
Ok, har desvaerre (heldigvis ....) ikke en Vista jeg kan teste paa, men proev at checke denne traad og se om der er noget der kan bruges: http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/ab662d63-6385-4f73-b27f-d526048f601f/
Avatar billede inglenook Praktikant
27. januar 2009 - 17:38 #18
Proevede lige at installere Oracle XE paa en Windows 7 (32bit under VMware) hvilket virkede ok foerste gang. Det maa vaere noget med din 64bit Vista som der ogsaa omtales i linket herover ?
Avatar billede jih Nybegynder
27. januar 2009 - 22:27 #19
det er det sikkert.. jeg må lige teste det, når jeg engang kommer til pcen.. så skriver jeg igen..
Avatar billede jih Nybegynder
09. februar 2009 - 10:24 #20
Undskyld forsinkelsen, men jeg har ikke rigtigt forstået det her layout på det nye eksperten.dk. Jeg har prøvet at rode rundt med det, og kan ikke få det til at virke. Jeg fandt ikke noget, jeg kunne bruge, på det link du fandt til mig.. =/
Avatar billede inglenook Praktikant
09. februar 2009 - 10:57 #21
Kan du connecte med sqlplus fra kommando linjen ?
Avatar billede jih Nybegynder
17. februar 2009 - 09:55 #22
undskyld forsinkelsen - men jeg kan stadigvæk ikke finde ud af det nye eksperten.. -.-

Ja, jeg kan connecte.. jeg har oprettet et table og fyldt den med en masse informationer, men jeg kan bare ikke få adgang via VB..
nu ved jeg ikke om jeg svarer på dit egentlige spørgsmål, men jeg bruger internet explorer til at logge på local host og skrive sql'en ind der.. sqlplus aner jeg ikke om jeg bruger, men jeg bruger select, create table, insert og update uden problemer..
Avatar billede inglenook Praktikant
17. februar 2009 - 10:21 #23
ok, hvis du kan connecte via internet explorer kan du sikkert ogsaa med sqlplus. Tror det er noget med din 64bit vista, men kan nok ikke hjaelpe. Du maa haabe Arne vender tilbage hertil eller at andre ser traaden. Held og lykke !
Avatar billede jih Nybegynder
17. februar 2009 - 10:30 #24
nå men så takker jeg bare for hjælpen.. håber at nogen kan løse mit problem.. -.- om ikke at få oracle til at virke så noget andet man kan bruge istedet?
Avatar billede jih Nybegynder
26. februar 2009 - 10:55 #25
lukker her..
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