13. september 2007 - 18:21Der er
12 kommentarer og 2 løsninger
VB.Net forbindelse til Oracle
Hejsa, Jeg er igang med at lære Oracle. I forvejen har jeg en basal forståelse for SQL med i rygsækken fra MySQL, men det opsætningsmæssige er en ny verden for mig, så jeg håber på lidt pædagogisk hjælp fra nogle eksperter ;)
Jeg har en, skal vi sige, test server, hvorpå at Oracle (Express) er sat op. Jeg kan tilgå den udefra efter at have forwardet porten til serveren. Nu vil jeg så gerne til at skrive lidt software som benytter sig af Oracle. Og her står jeg pt og får grå hår.
Jeg benytter følgende: - Visual Studio .NET (2005) - Oracle Developer Tools for Visual Studio .NET 10.1.0.4
Jeg laver en console application med følgende kode:
Imports System Imports System.Data Imports Oracle.DataAccess.Client
Module Module1
Sub Main() Dim c As OracleConnection = New OracleConnection() c.ConnectionString = "Data Source=xx.xx.xx.xx;User Id=oraclebruger;Password=kodeord;"
Det skal siges at her fra denne maskine hvor jeg udvikler kan jeg fint tilgå Oracle med Oracle SQL Developer - ingen problem med at tilslutte dér. Så forbindelsen kan altså opnåes.
Jeg kender ikke Oracles provider - jeg har altid brugt den der kommer med .NET, men i data source skal du ikke angive IP - du skal angive navn, som saa i Oracle Client bliver oversat til IP adresse.
Det vil sige at det er faktisk noget jeg skal definere på serveren i opsætningen af Oracle?
Bare for at være sikker på at jeg forstår det ret - så burde jeg kunne kalde min Oracle for "testoracle" og så angive "testoracle" som resolver til IP?
Det skulle det meget gerne være, ja. Det er tilgængeligt og det hele i VS.NET når man skriver selve koden. Godt nok er serveren en separat maskine, men tilgangen virker fint med Oracle SQL Developer.
Jeg har fået en grim mistanke om at jeg skal installere pakken på serveren også UDOVER computeren jeg arbejder på, da den skal bruge listeners?
Aha! Jeg har fået hul igennem, og det uden at installere noget. Denne connection string virker på Oracle Express (og sikkert også på andre...)
Dim oradb As String = "Data Source=(DESCRIPTION=" _ + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=DIN_HOST)(PORT=1521)))" _ + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));" _ + "User Id=oraclebruger;Password=mitpassword;"
HOST findes i listener.ora og SERVICE_NAME er altså det, som der er standard for Oracle - uanset hvad der står angivet i listener.ora selvom nogle tutorials angiver dette!
Arne, jeg foreslår at vi deler 50-50 - jeg kom ind på en fejl i min konfiguration vha. de links du forsynede mig med, så hvis du vil smide et svar? :)
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.