problème de connection avec une bdd oracle - VB/VBA/VBS - Programmation
MarshPosté le 18-04-2008 à 14:23:25
Bonjour, Comme tout débutant j'ai un probleme, je veux me connecter à une base de données Oracle via une appli web. Mon code est le suivant:----------------------------------------------------------------------------------------------------------¬ Imports System.Data Imports Oracle.DataAccess.Types Imports Oracle.DataAccess.Client ... Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _ + "(ADDRESS=(PROTOCOL=TCP)(HOST=172.27.191.41)(PORT=1521)))" _ + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _ + "User Id=halgue;Password=halgue;"
Dim conn As New OracleConnection(oradb) conn.Open()
Dim cmd As New OracleCommand
cmd.Connection = conn cmd.CommandText = "select NUM_BATIMENT from PROD_BAT3 where NUM_BOBINE = iBob" cmd.CommandType = CommandType.Text
Dim dr As OracleDataReader = cmd.ExecuteReader() dr.Read() Label1.Text = dr.Item("NUM_BATIMENT" ) ' ou dr.Item(0)
conn.Dispose()
End Sub End Class ------------------------------------------------------------------------------------------¬-----------------
Cependant L'erreur suivante apparait:
------------------------------------------------------------------------------------------¬------------------------------------------------------------------------ Erreur du serveur dans l'application '/WebHalgueApp'. --------------------------------------------------------------------------------
Invalid length for connection option 'data source', maximum length is 128. Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.ArgumentException: Invalid length for connection option 'data source', maximum length is 128.
Erreur source:
Ligne 38 : Ligne 39 : Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _ Ligne 40 : + "(ADDRESS=(PROTOCOL=TCP)(HOST=172.27.191.41)(PORT=1521)))" _ Ligne 41 : + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _ Ligne 42 : + "User Id=halgue;Password=halgue;"
Fichier source : c:\inetpub\wwwroot\WebHalgueApp\RechBob\RechBob.aspx.vb Ligne : 40
C'est une erreur de longueur mais je ne sais pas ce que c'est. j'ai essayé de remplacer l'adresse IP par le nom de l'host mais rien à faire. J'ai aussi vérifier le num du port et c'est ok svp ai
Marsh Posté le 18-04-2008 à 14:23:25
Bonjour,
Comme tout débutant j'ai un probleme, je veux me connecter à une base de données Oracle via une appli web. Mon code est le suivant:----------------------------------------------------------------------------------------------------------¬
Imports System.Data
Imports Oracle.DataAccess.Types
Imports Oracle.DataAccess.Client
...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=172.27.191.41)(PORT=1521)))" _
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
+ "User Id=halgue;Password=halgue;"
Dim conn As New OracleConnection(oradb)
conn.Open()
Dim cmd As New OracleCommand
cmd.Connection = conn
cmd.CommandText = "select NUM_BATIMENT from PROD_BAT3 where NUM_BOBINE = iBob"
cmd.CommandType = CommandType.Text
Dim dr As OracleDataReader = cmd.ExecuteReader()
dr.Read()
Label1.Text = dr.Item("NUM_BATIMENT" ) ' ou dr.Item(0)
conn.Dispose()
End Sub
End Class
------------------------------------------------------------------------------------------¬-----------------
Cependant L'erreur suivante apparait:
------------------------------------------------------------------------------------------¬------------------------------------------------------------------------
Erreur du serveur dans l'application '/WebHalgueApp'.
--------------------------------------------------------------------------------
Invalid length for connection option 'data source', maximum length is 128.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.ArgumentException: Invalid length for connection option 'data source', maximum length is 128.
Erreur source:
Ligne 38 :
Ligne 39 : Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
Ligne 40 : + "(ADDRESS=(PROTOCOL=TCP)(HOST=172.27.191.41)(PORT=1521)))" _
Ligne 41 : + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
Ligne 42 : + "User Id=halgue;Password=halgue;"
Fichier source : c:\inetpub\wwwroot\WebHalgueApp\RechBob\RechBob.aspx.vb Ligne : 40
Trace de la pile:
[ArgumentException: Invalid length for connection option 'data source', maximum length is 128.]
System.Data.OracleClient.OracleConnectionString.ValidateParse()
System.Data.OracleClient.DBConnectionString..ctor(String connectionString, UdlSupport checkForUdl)
System.Data.OracleClient.OracleConnectionString..ctor(String connectionString)
System.Data.OracleClient.OracleConnectionString.ParseString(String connectionString)
System.Data.OracleClient.OracleConnection.set_ConnectionString(String value)
System.Data.OracleClient.OracleConnection..ctor(String connectionString)
WebHalgueApp.RechBob.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\WebHalgueApp\RechBob\RechBob.aspx.vb:40
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(St¬ring eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
------------------------------------------------------------------------------------------¬------------------------------------------------------------------------
C'est une erreur de longueur mais je ne sais pas ce que c'est. j'ai essayé de remplacer l'adresse IP par le nom de l'host mais rien à faire. J'ai aussi vérifier le num du port et c'est ok svp ai