Problème avec un Insert sur une BDD oracle
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 :
Code:
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 |
J'ai donc tenter plusieurs méthode pour l'injection :
Code:
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 |
qui me sort une Erreur Ora-00928 : mot-clé Select absent
ou
Code:
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 |
qui me sort aussi une Erreur Ora-00928 : mot-clé Select absent
et la dernière méthode :
Code:
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 |
qui me sort une erreur différente : ORA-00001 : Violation de contraite unique.
Je vous remercie par avance de votre aide.