Avatar billede sandrasmurf Nybegynder
22. november 2006 - 12:33 Der er 14 kommentarer og
1 løsning

Åbne connection til Oracle

Hej eksperter

Jeg har sat en oracle database op på localhost og nu kunne jeg godt tænke mig at åbne en connection til databasen gennem C#.net.

Der har været stillet et lignende ? på eksperten før, men jeg kan ikke ud fra dette spørgsmål lure hvad der skal til før jeg kan bruge Oracle i mit program.
http://www.eksperten.dk/spm/399911

Ud fra oracles egen vildledning har jeg fundet disse linier:

using Oracle.DataAccess.Client;
...
OracleConnection oracleConn = new OracleConnection();
oracleConn.ConnectionString =
    "User Id=system;Password=test;Data Source=LOCALHOST;";
oracleConn.Open();

Jeg skal senere kunne tilgå oracle DB på lokalnettet, så jeg kunne godt bruge et par fif til, hvordan sådan en connectionstring skal se ud og hvor man finder de oplysninger, der skal indtastes.

Allan
Avatar billede sandrasmurf Nybegynder
22. november 2006 - 12:39 #1
Jeg kan kontakte databasen gennem Oracle SQL developer, hvor jeg har indtastet:
HostName = localhost
Port = 1521
Service Name = someServiceName
Avatar billede sandrasmurf Nybegynder
22. november 2006 - 12:57 #2
http://www.c-sharpcorner.com/Code/2004/Feb/ODP.NET02.asp

I denne artikel siger de at
Data Source      Oracle Net Service Name that identifies the database to connect to

Men desværre:
Det Service Name, der dur i SQLDeveloper, dur ikke i connectionstring koden.

Den dør med begrundelsen
"ORA-12154: TNS:could not resolve the connect identifier specified"
Avatar billede sandrasmurf Nybegynder
22. november 2006 - 13:03 #3
Hvor er det dog frustrerende, når man søger efter noget, der ganske givet er nærmest trivielt, men man ikke kan lure det.
Avatar billede arne_v Ekspert
22. november 2006 - 13:36 #4
jeg bruger

            OracleConnection con = new OracleConnection("Server=ARNEPC3;User ID=xxxx;Password=xxxx");

med den OracleClient som kommer med .NET
Avatar billede sandrasmurf Nybegynder
22. november 2006 - 13:52 #5
< med den OracleClient som kommer med .NET

Kan det tænkes, at jeg ikke har en client? Hvis jeg kan importere Oracle.DataAccess under referencer i VS skulle det så ikke være tilstrækkeligt.

Jeg har også installeret et Visual Studio plugin, der ligger sig i View menuen som "Oracle Viewer". Det sker ikke rigtigt noget, når jeg vælger menuen, hvilket godt kunne få mig til at tro at der mangler noget på min maskine(kørte bare install'eren uden at læse doc).

<  OracleConnection con = new OracleConnection("Server=ARNEPC3;User ID=xxxx;Password=xxxx");

Til denne linie siger debuggeren: 'Server' is an invalid connection string attribute.

Hvor skriver du linien henne?
Avatar billede sandrasmurf Nybegynder
22. november 2006 - 14:06 #6
Hvordan ved min OracleConnection om den skal kigge på localhost, lokal net eller www og hvilket port nummer den skal bruge.

Det skal den vel have at vide?
Avatar billede arne_v Ekspert
22. november 2006 - 14:12 #7
alle Oracle API'er undtagen Java thin client kræver Oracle Client installeret
på PC - den har de detaljerede oplysninger der skal bruges for connection
Avatar billede snadepind Nybegynder
22. november 2006 - 14:56 #8
Tjah.. Prøvede lige at køre C# programmet fra en anden computer på netwærket, der har Oracle client installeret og kan connecte gennem et program, der hedder TOAD.

Der var dog ingen held.

Programmet manglede OraOps10.dll udover Oracle.DataAccess.dll, men den blev glad da vi hentede en sådan fil fra serveren og lagde den samme sted på clienten.

Men igen samme fejl: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor.

Det er frustrerende at der er hul igennem med TOAD på lokal net og SQL Developer på localhost, men at man ikke kan få hul gennem OracleConnection i C#.

Men jeg må jo finde på noget konvertering af data til XML eller deslignende hvis det ikke kommer til at du.
Avatar billede snadepind Nybegynder
22. november 2006 - 15:06 #9
Det ser ud til at der både er en instant client og en "normal" client.

prøver lige at installere den der instant client for at se om det skulle gøre en forskel.
Avatar billede sandrasmurf Nybegynder
22. november 2006 - 15:19 #10
hmmm. Hjalp ikke umiddelbart.

Nogen, der kan liste forudsætningerne, for at kunne bruge Oracle dokumentationens 3 liniers kode til at connecte til en db?

Der må jo være noget jeg ikke har forstået.

Derudover kan jeg stadig ikke helt forstå hvordan en client kan kontakte en database uden at angive hostname og port som en del af connection string
Avatar billede blander Nybegynder
22. november 2006 - 16:32 #11
I tnsnames står der

<Data Source> =
  (DESCRIPTION =
    ..........

i C# skal der stå ConnectionString =
    "User Id=xxxx;Password=xxxx;Data Source=<Data Source>;";
Avatar billede sandrasmurf Nybegynder
30. november 2006 - 10:43 #12
lukker
Avatar billede snowball Novice
28. december 2006 - 12:27 #13
sandrasmurf / snadepind

Du / I bedes venligst forklare jeres indbyrdes forhold eftersom det tyder på, at det er den samme person der står bag begge brugere. Det er som bekendt ikke tilladt at have mere end 1 bruger på Eksperten.

Snowball / CoAdmin
Avatar billede sandrasmurf Nybegynder
28. december 2006 - 14:19 #14
Dav Co admin/Snowball

Jeg troede den sag var ude af verden for længst, men i har åbenbart ikke snakket sammen indbyrdes.

En af jeres admin har allerede slettet snadepind kontoen efter email korrespondance, så den sag er ude af verden.
Avatar billede snowball Novice
28. december 2006 - 19:06 #15
sandrasmurf: Brugeren "snadepind" står stadig til at være aktiv, og jeg kan ikke se at der er sket mere end den besked der er sendt 23/11 2006 08:24.

Men jeg sætter bare "snadepind" som inaktiv, og lukker sagen :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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