Avatar billede hco Nybegynder
09. september 2010 - 22:33 Der er 16 kommentarer og
1 løsning

ADODB Connection string til Oracle Database

Jeg skal lave nogle forspørgsler mod en oracle database inde fra Excel/VBA, men har store problemer med at få en connection op og stå.

Jeg har allerede velfungerende ADODB connection til MS-SQL 2008 server med følgende ConStr:

ConStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=INFODB;Data Source=10.10.10.10"

Det virker helt som det skal, og fungerer uden dsn oprettelser mv.

Jeg vil meget gerne kunne gøre det samme mod en Oracle Database, men har ikke haft held til at skrue ConStr sammen så det virker.
Jeg har prøvet hos "www.connectionsstrings.com" og alle mulige steder på nettet - men desværre uden held.

Er der nogen der kan hjælpe?
Avatar billede arne_v Ekspert
09. september 2010 - 22:45 #1
Jeg har engang brugt ODBC og:

"Driver={Microsoft ODBC for Oracle};Server=ARNEPC3;Uid=xxxx;Pwd=xxxx;"

men der er naturligvis også en OLE DB provider.
Avatar billede hco Nybegynder
09. september 2010 - 23:02 #2
Hej Arne,

Jeg læste godt din tidligere tråd med svar på et lignende spørgsmål ;-)

Jeg kunne godt leve med ODBC - men helt præcis hvad har du i connection strengen? Kan du give mig et fuldt eksempel?
Avatar billede arne_v Ekspert
09. september 2010 - 23:14 #3
Præcis det jeg skriver.

Min Oracle instans er så naturligvis defineret som ARNEPC3.
Avatar billede hco Nybegynder
09. september 2010 - 23:23 #4
Har lige prøvet - får fejlen:

ORA-12504 "TNS: Listener fik ikke SERVICE_NAME i CONNECT_DATA"
Avatar billede arne_v Ekspert
10. september 2010 - 00:02 #5
Har du brugt det rigtige navn fra .ORA filerne?
Avatar billede hco Nybegynder
10. september 2010 - 09:08 #6
Det ved jeg ikke - hvor finder jeg .ora filerne?
Avatar billede arne_v Ekspert
13. september 2010 - 04:30 #7
Der hvor de er installeret.

:-)

Søg efter dem!
Avatar billede hco Nybegynder
13. september 2010 - 20:57 #8
Så har jeg søgt, men har ikke fundet nogen Ora filer. Der var 2 men de var tomme - nogen ideer?
Avatar billede arne_v Ekspert
13. september 2010 - 21:02 #9
Er der installeret Oracle client paa maskinen?
Avatar billede hco Nybegynder
13. september 2010 - 21:29 #10
Ja, jeg har installeret Clienten, og jeg har søgt hele min harddisk igennem efter ORA filer.

Men det jeg faktisk er interesseret i er at kunne udtrække data fra Oracle - UDEN at skulle installere clienten. Dvs. via en TNS-less connection string.
Avatar billede arne_v Ekspert
14. september 2010 - 03:44 #11
Har du defineret serveren i don Oracle Client?

Ja => så burde det virke med det rigtige navn.

Nej => så skal du bruge:

http://www.connectionstrings.com/oracle#p17

ODBC;Driver={Microsoft ODBC for Oracle};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=199.199.199.199)(PORT=1523))(CONNECT_DATA=(SID=dbName)));Uid=myUsername;Pwd=myPassword;

syntaxen !
Avatar billede hco Nybegynder
14. september 2010 - 10:40 #12
Jeg har ikke defineret serveren, så jeg prøvede med din ODBC fra Connectionstrings.com.

Desværre med følgende fejl:

"[Mircrosoft][ODBC Driver Manager]Datasource name not found and no default driver specified"

Så hoppede jeg på MS for at se om jeg kunne downloade ODBC driveren, og her står der at den er på vej ud (http://msdn.microsoft.com/en-us/library/ms713590(VS.85).aspx) og at man skal bruge den fra Oracle.

Så har jeg ledt efter en odbc driver til oracle, men kan ikke finde en sådan.
Avatar billede arne_v Ekspert
15. september 2010 - 01:56 #13
Kommer ODBC driveren ikke med Oracle Client?
Avatar billede hco Nybegynder
16. september 2010 - 20:26 #14
Jo, det gør den.

Hvis jeg kigger inde under "adminstrative tools/Data Sources" så er der listet en "Oracle in OraClient11g_home1" odbc driver.

Se problemet er at den application jeg skal bruge skal rulles ud til mange brugere, og jeg vil rigtig gerne holde deployment inden for et minimum. Det betyder også at jeg ikke skal til at installere Oracle Clienten hos brugerne - det går bare ikke.

Jeg har kigget lidt på "sqora32.dll" og kan den refererer til en række andre DLL i oracle client biblioteket - så det er altså ikke bare lige at kopiere den fra den ene maskine til den anden.

Nogen idéer?
Avatar billede arne_v Ekspert
16. september 2010 - 20:54 #15
Oracle tilgang kraever Oracle Client bortset fra Java programmer der kan bruge den saakaldte "thin" JDBC driver.
Avatar billede hco Nybegynder
16. september 2010 - 21:32 #16
hmmm, så er der jo ikke meget at stille op for mig :-(

Det virker helt sort!

Men tak for indsatsen. Du har fortjent points ;-)
Avatar billede arne_v Ekspert
17. september 2010 - 04:40 #17
så smider jeg et svar
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