Avatar billede el_fredo Praktikant
11. september 2003 - 16:12 Der er 17 kommentarer og
1 løsning

Oracle connection

Jeg skal lave en application i C# (senere også til ASP.NET), der kan tilgå en Oracle database. Gør man det med OleDb eller med Odbc klassen, og hvordan gør man? Er der en der har et simpelt eksempel på, hvordan en connection sættes op? Jeg har før lavet connections til MS Access. Skal jeg installere Oracle ODBC drivers før jeg kan tilgå en database, eller er det ikke nødvendigt?
Avatar billede nielslbeck Nybegynder
11. september 2003 - 16:15 #1
Det kan du gøre med OleDb. Så er det eneste du skal ændre i forhold til den Access-kode sådan set bare din connectionstring. Du kan enten bruge:

Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd; (Oracels forslag)

eller

Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd; (Microsofts forslag)
Avatar billede nielslbeck Nybegynder
11. september 2003 - 16:21 #2
Du kan faktisk også bruge en anden metode - som nok er hurtigere, da den er skrevet direkte til Oracle... Det skulle være noget i denne stil:

using System.Data.OracleClient;

OracleConnection oOracleConn = new OracleConnection();
oOracleConn.ConnectionString = "Data Source=Oracle8i;Integrated Security=yes";
oOracleConn.Open();
Avatar billede el_fredo Praktikant
11. september 2003 - 16:23 #3
Ok. Kanon. Jeg tester det lige i morgen, når jeg har fået oprettet adgang til Oracle databasen...
Avatar billede el_fredo Praktikant
11. september 2003 - 16:24 #4
"System.Data.OracleClient" ...  hvor får du den fra?
Avatar billede nielslbeck Nybegynder
11. september 2003 - 16:26 #5
Går ud fra du benytter VS.NET - så gå ind i Solution Exploreren, højreklik på References, vælg Add Reference, find System.Data.OracleClient.dll og tryk Select. Tryk så OK. Nu skulle du kunne få adgang til System.Data.OracleClient :-)
Avatar billede el_fredo Praktikant
15. september 2003 - 14:44 #6
Hej igen. Så er det blevet mandag. Jeg får en fejlmeddelelse om, at "oci.dll" ikke kan findes.

System.DllNotFoundException: DLL'en (oci.dll) kunne ikke indlæses.

Hvad gør jeg her?
Avatar billede nielslbeck Nybegynder
15. september 2003 - 17:08 #7
Har du en driver til Oracle installeret?
Avatar billede el_fredo Praktikant
18. september 2003 - 14:38 #8
Hej igen. Nu har jeg installeret en driver til Oracle. Situationen er som følger:
Der ligger en oracle database på en server indenfor samme lokalnetværk. Denne skal jeg tilgå. Databasens navn er ORCL og serverens IP har jeg også, men når jeg prøver at tilgå serveren (på alle mulige måder) så står der enten:

"System.Data.OleDb.OleDbException: ORA-12154: TNS:service-navn kunne ikke tolkes"

eller

"System.Data.OleDb.OleDbException: ORA-12541: TNS: Ingen lytteproces"

Hvad gør jeg galt? Min kode er:

connectionString = "Provider=msdaora;Data Source=Maconony;User Id=test;Password=test;";
                       
connection = new OleDbConnection(connectionString);
connection.Open();
Avatar billede nielslbeck Nybegynder
18. september 2003 - 14:42 #9
Okay... har du prøvet med Oracels connectionstring?
Avatar billede el_fredo Praktikant
18. september 2003 - 14:43 #10
ORCL er forresten ikke helt sikkert db navnet. Det er et "SID". Hvad mon det er?
Avatar billede el_fredo Praktikant
18. september 2003 - 14:44 #11
Men med oracles connectionstring står der jo bare "Oracle8i" hvordan skulle den kunne finde databasen?
Avatar billede el_fredo Praktikant
18. september 2003 - 14:46 #12
Hvis jeg benytter oracles version, så står der igen "System.Data.OracleClient.OracleException: ORA-12154: TNS:service-navn kunne ikke tolkes". Men du mente måske slet ikke den version med "Oracle8i"??? Jeg prøver lige den anden igen.
Avatar billede nielslbeck Nybegynder
19. september 2003 - 09:18 #13
Har fundet denne side til dig:

http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemdataoracleclientoracleconnectionclassconnectionstringtopic.asp?frame=true

I Data Source skal der stå følgende:

The name or network address of the instance of Oracle to which to connect.

Så der skal ikke bare stå Oracle8i, men serverens navn - måske ORCL?

De to andre connectionstrings jeg startede med at nævne var til OleDB connections, og kan ikke benyttes når det er OracleClient der benyttes.
Avatar billede el_fredo Praktikant
19. september 2003 - 16:05 #14
Tilsyneladende overholder jeg syntax jævnfør MSDN... Jeg har også erstattet Oracle8i med ORCL samt oprettet ORCL på korrekt vis gennem ODBC, og lavet en adgang til databasen. Jeg kan via diverse tools som blev installeret samtidigt med driverne til Oracle godt tilgå databasen, og jeg kan se tabeller osv. Det er derfor lidt frustrerende ikke at kunne få lavet en forbindelse i VS.NET. Jeg får fejlen:

ORA-12514: TNS:lytteproces kunne ikke tolke SERVICE_NAME angivet i forbindelses-descriptor.

Nogen anelse om hvad der så kan være galt?
Avatar billede el_fredo Praktikant
19. september 2003 - 16:06 #15
ps. Hvis du kan løse problemet og hjælpe mig med forbindelsen, så smider jeg 150 points ekstra oven i de 50. Plus det faktum, at jeg selvfølgelig vil være dig evigt taknemmelig :)
Avatar billede nielslbeck Nybegynder
19. september 2003 - 17:40 #16
Jeg beklager meget, men tror desværre ikke jeg kan hjælpe så meget mere :-(

http://www.dotnet247.com/247reference/msgs/21/105220.aspx er der én som har samme problem som dig - men det var så også alt hvad jeg kunne finde om det problem - i hvert fald når det gælder .NET! For hvis man søger efter fejlen på google, får man masser af resultater (http://www.google.com/search?q=ORA-12514&hl=en&lr=&ie=UTF-8&oe=UTF-8), men jeg synes ikke jeg kunne finde nogen hvor det blev forklaret ordentligt hvad problemet er.

Men ham fyren som fik fejlen fra et .NET program fik følgende svar fra Harold Ommert fra Microsoft Developer Support:

The Service name is the Data Source, for example myOracleServer.

Men jeg synes så heller ikke det svar hjælper særlig meget :-( Beklager...
Avatar billede el_fredo Praktikant
19. september 2003 - 18:32 #17
Jeg har tilsyneladende løst problemet. Jeg erstattede hhv. IP, ORCL og servernavn med det alias jeg havde genereret. Så virkede det (håber jeg). Tak for din hjælp! Det har givet mig megen indsigt.
Avatar billede nielslbeck Nybegynder
19. september 2003 - 18:34 #18
Godt du fik løst dit problem til trods for, at jeg ikke var til så stor hjælp som jeg gerne ville have været :-)
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