Application C# et SAP .NET Connector

Avant de pouvoir établir une connexion entre une application C# et un ERP comme SAP il va falloir vérifier que les quelques prérequis soient installés sur votre machine.

  • Microsoft Visual C# 2010
  • Microsoft .NET Framework 4.0

Téléchargement du SAP .NET Connector

Rendez-vous sur service.sap.com/connectors pour télécharger SAP .NET Connector 3.0 (disponible gratuitement)

Après avoir téléchargé et installé SAP .NET Connector, créez un nouveau projet dans Visual C# 2010, Application Console et nommez-la : “TestSAP”.

creer_projet_sap_csharp

Dans l’explorateur de solutions (à la droite de votre écran), faites un clic droit sur “Références”, puis “Ajouter une référence…”

Ajoutez maintenant les fichiers :

  • sapnco.dll
  • sapnco_utils.dll

Pour info, ces deux fichiers devraient normalement se trouver sous : C:\Programme Files\SAP\SAP_DotNetConnector3_x86\

ajouter_references_sap_csharp

Assurez-vous maintenant que votre projet cible bien sur le .NET Framework 4.0 (dans les propriétés de votre projet)

framework_sap_csharp

Place maintenant au code du fichier program.cs (remplacez l’intégralité du code par celui ci-dessous)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SAP.Middleware.Connector;

namespace TestSAP
{

class Program
{
static void Main(string[] args)
{
RfcConfigParameters parameters = new RfcConfigParameters();

parameters[RfcConfigParameters.Name] = "VOTRE_NOM_DUTILISATEUR";
parameters[RfcConfigParameters.User] = "VOTRE_NOM_DUTILISATEUR";
parameters[RfcConfigParameters.Password] = "VOTRE_MOTDEPASSE";
parameters[RfcConfigParameters.Client] = "099"; // Remplacez par votre Client
parameters[RfcConfigParameters.Language] = "FR";
parameters[RfcConfigParameters.AppServerHost] = "127.0.0.1"; // Remplacez par l'adresse IP de votre hôte
parameters[RfcConfigParameters.SystemNumber] = "00";

RfcDestination destination = RfcDestinationManager.GetDestination(parameters);
RfcSessionManager.BeginContext(destination);
destination.Ping();

}

}
}

Si au lancement de l’application, vous voyez apparaitre une invite de commandes et qu’aucun message d’erreur ne survient, la connexion est alors bien établie.

Au contraire, en cas de message d’erreur, vérifiez vos ID + mot de passe ou simplement vos autorisations (votre compte SAP doit avoir les autorisations RFC)

Comment connecter une application C# à une base de données Oracle

Lorsque vous créer une application C# (C Sharp), vous serez surement amené à communiquer avec une base de données. Dans ce tutoriel, je vais vous donner le code source pour effectuer une connexion simple à une base de données Oracle.

J’utilise les programmes suivants :

 Ajout de référence(s)

Etape 1 : Ajouter la référence Oracle

Pour commencer, il faut ajouter la référence du client Oracle à votre projet. Pour ça, sur votre droite, vous devriez avoir l’explorateur de solutions (voir screenshot ci-dessous). Si ce menu n’apparaît pas, allez dans “Affichage” puis “Explorateur de solutions” ou faites un CTRL+W,S.

oracle_explor

Faites un clique-droit sur “Références”, “Ajouter une référence…”

oracle_references

Cochez “System.Data.OracleClient” et validez par OK

 Ajout du code source dans votre projet

Etape 2 : Le bout de code de connexion

Vous n’aurez plus qu’à insérer les deux méthodes ci-dessous dans une classe de votre projet. Vous pourrez appeler ces méthodes lors d’un clic sur un bouton ou à l’initialisation d’une fenêtre.

        public void connexionOracle()
        {

			string oradb = "Data Source=NOMDELABASE;User Id=IDENTIFIANT;Password=MOTDEPASSE;";
			OracleConnection conn = new OracleConnection(oradb);

			// Ouverture de la connexion
            conn.Open();

			// Avec ce IF je test l'état de la connexion et j'affiche si CONNECTE ou NON CONNECTE
            if (conn.State.ToString() == "Open")
            {
                labelStatutConnOracle.Text = "Connecté";
            }
            else
            {
                labelStatutConnOracle.Text = "Non Connecté";
            }
        }

        public void deconnexionOracle()
        {
            conn.Dispose();
        }

N’oubliez pas de remplacer les valeurs dans la chaine oradb à la ligne 4 en mettant la nom de votre base de données Oracle, votre identifiant et votre mot de passe (le même que vous utilisez pour réaliser une connexion avec SQL Developer par exemple).

Le label “labelStatutConnOracle” me permet de visualiser dans la fenêtre, l’état de ma connexion à ma base de données (“Connecté” ou “Non connecté”)

Maintenant que votre connexion est active, vous pouvez balancer vos requêtes selon vos besoins!