Bonjour,

J’ai cherché dans le forum, mais les titres ne sont pas toujours éloquents et la recherche ODBC ou IM002 ne me retourne pas vraiment ce que je veux.

Je voudrais donc commencer un nouveau post.

Mon problème est au moins simple à énoncer.

J’ai ORACLE database 11.G express, je me débrouille avec le SQL Developper, mais j’ai créé une application VB.net qui interroge une table dans XE.

Si je le fais ainsi

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim oradb As String = "Data Source=XE;User Id=system;Password=mypwd;"
Dim conn As New Oracle.DataAccess.Client.OracleConnection(oradb)
conn.Open()
Dim cmd As New OracleCommand
cmd.Connection = conn
cmd.CommandText = "Select ID_CIT, CIT_NAM, PST_CD, TXT_CHAR from TABLE_02_ALPHA"
cmd.CommandType = CommandType.Text
Dim dr As OracleDataReader = cmd.ExecuteReader()
dr.Read()
 
MsgBox(dr.GetValue(0).ToString() & dr.GetValue(1).ToString() & dr.GetValue(2).ToString() & dr.GetValue(3).ToString())
While (dr.Read())
      MsgBox(dr.GetValue(0).ToString() & dr.GetValue(1).ToString() & dr.GetValue(2).ToString() & dr.GetValue(3).ToString())
End While
 
conn.Close()
conn.Dispose()
Cela fonctionne, bien que je suis étonné par la boucle read()

Si je le fais ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim connoa As System.Data.Odbc.OdbcConnection
Dim commoa As OdbcCommand
Dim droa As OdbcDataReader
Dim connectionStringoa As String = "DRIVER={Microsoft ODBC for Oracle};data source=XE;user id=system;password=mypwd;"
Dim sqloa As String
 
connoa = New System.Data.Odbc.OdbcConnection(connectionStringoa)
connoa.Open()
sqloa = "Select ID_CIT, CIT_NAM, PST_CD, TXT_CHAR from TABLE_02_ALPHA"
commoa = New OdbcCommand(sqloa, connoa)
droa = commoa.ExecuteReader()
 
While (droa.Read())
      MsgBox(droa.GetValue(0).ToString() & droa.GetValue(1).ToString())
End While
 
connoa.Close()
droa.Close()
commoa.Dispose()
connoa.Dispose()
Je reçois le message suivant.

ERROR [IM002] [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié


Je dois avouer que « je ne suis pas très technique », donc si je vois TNS, TNSnames, je ne sais pas trop de quoi l’on parle. Pour d’autres trucs, aussi je suis perdu …

Y a-t-il une manière « simple » de coder un accès table oracle en utilisant ODBC dans une application VB.net ?

Merci de me guider.

Pierre