Bonjour,
Je vous contacte car j'ai un soucis avec une injection de données sur ma base Oracle.
Je m'explique, je dois transferer mes données d'une base Access vers une base oracle avec certaines regles de gestions.
Je parcours donc ma base acces puis tente de faire un insert sur ma base oracle qui ne fonctionne pas..
Voici ce que j'ai utiliser pour me conencter à la base :
J'ai donc tenter plusieurs méthode pour l'injection :
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 Sub connection_bdd_oracle(base_oracle As ADODB.Connection, DSN As String, log As String, mdp As String) Set base_oracle = New ADODB.Connection On Error GoTo BadConnection base_oracle.ConnectionString = "Driver={Microsoft ODBC for Oracle};Server=" & DSN & ";Uid=" & log & ";Pwd=" & mdp base_oracle.Open Exit Sub BadConnection: If base_oracle.Errors.Count > 0 Then 'Affichage des erreurs MsgBox base_oracle.Errors.Item(0) Exit Sub Else MsgBox Err.Description End If End Sub
qui me sort une Erreur Ora-00928 : mot-clé Select absent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Dim rst_oracle As ADODB.Command req = "INSERT INTO TEST_ACCESS_RAPHAEL FIELDS('ID',Valeur') VALUES ('" & rst_acc.Fields("N°") & "','" & rst_acc.Fields("test") & "')" With rst_oracle .ActiveConnection = oracle .CommandType = adCmdText .CommandText = req .Execute End With
ou
qui me sort aussi une Erreur Ora-00928 : mot-clé Select absent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 req = "INSERT INTO TEST_ACCESS_RAPHAEL FIELDS('ID',Valeur') VALUES ('" & rst_acc.Fields("N°") & "','" & rst_acc.Fields("test") & "')" oracle.Execute req, iAffected, adExecuteNoRecords
et la dernière méthode :
qui me sort une erreur différente : ORA-00001 : Violation de contraite unique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Set rst_oracle = New ADODB.Recordset With rst_oracle .AddNew .Fields("ID") = rst_acc.Fields("N°") .Fields("VALEUR") = rst_acc.Fields("test") .Update End With
Je vous remercie par avance de votre aide.
Partager