Benutzer mit den meisten Antworten
Connect zu einer Oracle Datenbank

Frage
-
Hallo,
ich möchte mich an eine Oracle Datenbank connecten um dann mit select Befehlen Daten aus der DB zu lesen.
Weiss jemand wie man einen solchen connect programmiert.
Habe mich schon in dieses gebiet eingelesen komme aber nicht so recht weiter.
MFG
Stefan
Antworten
-
Hast du denn den Oracle-Client installiert? Grundsätzlich wird empfohlen ODP.Net zu benutzen, also den ODP.Net Client zu installieren. Hier ist ein Beispielscript:
$AssemblyFile = "C:\Oracle\product\10.2.0\client_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll" $ConnectionString = "User ID=Username;Password=Password;Data Source=Server;Persist Security Info=True" $CommandText = "SELECT * FROM Table" [Reflection.Assembly]::LoadFile($AssemblyFile) | Out-Null $OracleConnection = New-Object -TypeName Oracle.DataAccess.Client.OracleConnection $OracleConnection.ConnectionString = $ConnectionString $OracleConnection.Open() $OracleCommand = New-Object -TypeName Oracle.DataAccess.Client.OracleCommand $OracleCommand.CommandText = $CommandText $OracleCommand.Connection = $OracleConnection $OracleDataAdapter = New-Object -TypeName Oracle.DataAccess.Client.OracleDataAdapter $OracleDataAdapter.SelectCommand = $OracleCommand $DataSet = New-Object -TypeName System.Data.DataSet $OracleDataAdapter.Fill($DataSet) | Out-Null $OracleDataAdapter.Dispose() $OracleCommand.Dispose() $OracleConnection.Close() $DataSet.Tables[0]
Grüße, Denniver
http://bytecookie.wordpress.com/- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 26. März 2011 19:21
Alle Antworten
-
Hallo Stefan, deine Frage ist sehr allgemein gestellt. Ich könnte dir jetzt ein paar Google Treffer zum Thema posten, wenn du dich aber bereits ins Thema eingelesen hast, wäre es hilfreich wenn du genauer beschreibst:
- was du bisher versucht hast
- was genau nicht funktioniert
- welche Fehlermeldungen erscheinen etc.Grüße, Denniver
http://bytecookie.wordpress.com/
-
Hallo Denniver,
anbei mein Code.
#CONNECT TO Oracle
$constr = "User Id=system;Password=password;Data Source=PS2"
$conn= New-Object System.Data.OracleClient($constr)
$conn.OPEN()
# CREATE a datareader FOR a SQL statement
$sql="select * from all_users"
$command = New-Object Oracle.DataAccess.Client.OracleCommand( $sql,$conn)
$reader=$command.ExecuteReader()
echo "User: "$readerFehlermeldungen:
PS C:\Documents and Settings\ps2adm> #connect to Oracle
PS C:\Documents and Settings\ps2adm> $constr = "User Id=system;Password=passwd;Data Source=PS2"
PS C:\Documents and Settings\ps2adm> $conn= New-Object System.Data.OracleClient($constr)
New-Object : Cannot find type [System.Data.OracleClient]: make sure the assembly containing this type is loaded.
At line:1 char:18
+ $conn= New-Object <<<< System.Data.OracleClient($constr)
+ CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommandPS C:\Documents and Settings\ps2adm> $conn.Open()
You cannot call a method on a null-valued expression.
At line:1 char:11
+ $conn.Open <<<< ()
+ CategoryInfo : InvalidOperation: (Open:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNullPS C:\Documents and Settings\ps2adm>
PS C:\Documents and Settings\ps2adm> # Create a datareader for a SQL statement
PS C:\Documents and Settings\ps2adm> $sql="select * from all_users"
PS C:\Documents and Settings\ps2adm> $command = New-Object Oracle.DataAccess.Client.OracleCommand( $sql,$conn)
New-Object : Cannot find type [Oracle.DataAccess.Client.OracleCommand]: make sure the assembly containing this type is loaded.
At line:1 char:22
+ $command = New-Object <<<< Oracle.DataAccess.Client.OracleCommand( $sql,$conn)
+ CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommandPS C:\Documents and Settings\ps2adm> $reader=$command.ExecuteReader()
You cannot call a method on a null-valued expression.
At line:1 char:31
+ $reader=$command.ExecuteReader <<<< ()
+ CategoryInfo : InvalidOperation: (ExecuteReader:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNullPS C:\Documents and Settings\ps2adm>
PS C:\Documents and Settings\ps2adm> echo "User: "$reader
User:Besten Dank Stefan
-
Hast du denn den Oracle-Client installiert? Grundsätzlich wird empfohlen ODP.Net zu benutzen, also den ODP.Net Client zu installieren. Hier ist ein Beispielscript:
$AssemblyFile = "C:\Oracle\product\10.2.0\client_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll" $ConnectionString = "User ID=Username;Password=Password;Data Source=Server;Persist Security Info=True" $CommandText = "SELECT * FROM Table" [Reflection.Assembly]::LoadFile($AssemblyFile) | Out-Null $OracleConnection = New-Object -TypeName Oracle.DataAccess.Client.OracleConnection $OracleConnection.ConnectionString = $ConnectionString $OracleConnection.Open() $OracleCommand = New-Object -TypeName Oracle.DataAccess.Client.OracleCommand $OracleCommand.CommandText = $CommandText $OracleCommand.Connection = $OracleConnection $OracleDataAdapter = New-Object -TypeName Oracle.DataAccess.Client.OracleDataAdapter $OracleDataAdapter.SelectCommand = $OracleCommand $DataSet = New-Object -TypeName System.Data.DataSet $OracleDataAdapter.Fill($DataSet) | Out-Null $OracleDataAdapter.Dispose() $OracleCommand.Dispose() $OracleConnection.Close() $DataSet.Tables[0]
Grüße, Denniver
http://bytecookie.wordpress.com/- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 26. März 2011 19:21