IBM Cloud Docs
Connexion à l'aide d'un programme avec le module de pilote de périphérique

Connexion à l'aide d'un programme avec le module de pilote de périphérique

Le module de pilote Db2 on Cloud contient un logiciel qui permet de connecter les applications client à une base de données Db2 on Cloud.

JDBC

Définissez une connexion entre une application Java™ et la base de données Db2 on Cloud.

Prérequis

Avant de tenter une connexion à votre base de données Db2 on Cloud, vérifiez que les prérequis sont remplis.

Procédure

Plans Enterprise et Standard

Dans chaque application Java, spécifiez l'ID utilisateur et le mot de passe en incluant la méthode DriverManager.getConnection, puis incluez l'une des chaînes d'URL JDBC suivantes :

  • Pour une connexion avec SSL :

    jdbc:db2://<host_name>:<port>/bludb:user=<userid>;password=<your_password>;sslConnection=true;

.NET

Définissez une connexion entre une application .NET et votre base de données Db2 on Cloud.

Prérequis

Avant de tenter une connexion à votre base de données Db2 on Cloud, vérifiez que les prérequis sont remplis.

Procédure

Les étapes suivantes montrent comment vous pouvez connecter votre application à la base de données avec .NET.

  1. Sur une invite de commande, entrez les commandes suivantes. Ces commandes créent de nouvelles entrées dans le fichier de configuration du pilote (db2dsdriver.cfg) sur votre ordinateur et définissent les attributs de connexion. Cette étape ne doit être effectuée qu'une seule fois.

    • Plans Enterprise et Standard

      • Pour une connexion avec SSL :

        db2cli writecfg add -database BLUDB -host <hostname> -port <port>

        db2cli writecfg add -dsn <alias> -database BLUDB -host <hostname> -port <port>

        db2cli writecfg add -database BLUDB -host <hostname> -port <port> -parameter "SecurityTransportMode=SSL"

        où :

        <hostname> : Nom d'hôte du serveur

        <port> : Numéro de port du serveur

        <alias> : Nom d'un alias DSN que vous souhaitez utiliser pour établir la connexion .NET. Choisissez un nom qui signifie quelque chose pour vous, par exemple : analytics.

  2. (Facultatif) : Pour vérifier la connexion .NET à la base de données, entrez la commande suivante sur une invite de commande :

    testconn40 "DATABASE=<alias>;UID=<user_id>;PWD=<password>;"

    où :

    <alias> : Nom de l'alias DSN que vous avez créé avec la commande db2cli writecfg à l'étape 1.

    <user_id> : Votre ID d'utilisateur Db2 on Cloud.

    <password> : Mot de passe que vous utilisez pour vous connecter à votre base de données Db2 on Cloud.

Exemple

La syntaxe suivante montre un exemple de code C# utilisant le pilote .NET pour établir une connexion avec la base de données.

using System;
using IBM.Data.DB2;

namespace dotNetSSLTest
{
    class Program
    {
        static void Main(string[] args)
        {
            DB2Command MyDB2Command = null;
            // Use the dsn alias that you defined in db2dsdriver.cfg with the db2cli writecfg command in step 1.
            String MyDb2ConnectionString = "database=alias;uid=userid;pwd=password;";
            DB2Connection MyDb2Connection = new DB2Connection(MyDb2ConnectionString);
            MyDb2Connection.Open();
            MyDB2Command = MyDb2Connection.CreateCommand();
            MyDB2Command.CommandText = "SELECT branch_code, city from GOSALES.BRANCH";
            Console.WriteLine(MyDB2Command.CommandText);

            DB2DataReader MyDb2DataReader = null;
            MyDb2DataReader = MyDB2Command.ExecuteReader();
            Console.WriteLine("BRANCH\tCITY");
            Console.WriteLine("============================");
            while (MyDb2DataReader.Read())
            {
                for (int i = 0; i <= 1; i++)
                {
                    try
                    {
                        if (MyDb2DataReader.IsDBNull(i))
                        {
                            Console.Write("NULL");
                        }
                        else
                        {
                            Console.Write(MyDb2DataReader.GetString(i));
                        }
                    }
                    catch (Exception e)
                    {
                        Console.Write(e.ToString());
                    }
                    Console.Write("\t");

                }
                Console.WriteLine("");
            }
            MyDb2DataReader.Close();
            MyDB2Command.Dispose();
            MyDb2Connection.Close();
        }
    }
}

ODBC ou interface de ligne de commande

Définissez une connexion entre une application Microsoft Windows ODBC ou une application d'interface de ligne de commande et une base de données Db2 on Cloud.

Prérequis

Avant de tenter une connexion à votre base de données Db2 on Cloud, vérifiez que les prérequis sont remplis.

Procédure

  1. Dans un interpréteur de commandes sur les systèmes d'exploitation Linux, sur l'invite de commande Windows, ou dans la fenêtre de commande Db2 sur les systèmes d'exploitation Windows, entrez les commandes suivantes :

    **Remarque **: ces commandes créent de nouvelles entrées dans le fichier de configuration du pilote (db2dsdriver.cfg) sur votre ordinateur et définissent les attributs de connexion. Cette étape ne doit être effectuée qu'une seule fois.

    • Plans Enterprise et Standard

      • Pour une connexion avec SSL :

        db2cli writecfg add -database BLUDB -host <hostname> -port <port> -parameter "SecurityTransportMode=SSL"

        db2cli writecfg add -dsn <alias> -database BLUDB -host <hostname> -port <port>

        où :

        <hostname> : Nom d'hôte du serveur

        <port> : Numéro de port du serveur

        <alias> : Alias DSN que vous choisissez

  2. (Facultatif) : Pour tester la connexion à la base de données, exécutez cette commande dans l'invite de commande :

    db2cli validate -dsn <alias> -connect -user <user_id> -passwd <password>

    où :

    <alias> est l'alias DSN que vous avez créé avec la commande db2cli writecfg

    <user_id> est issu des données d'identification de connexion que vous avez collectées au préalable

    <password> est issu des données d'identification de connexion que vous avez collectées au préalable

  3. (Facultatif) : Pour enregistrer le nom de la source de données (DSN) auprès de Microsoft ODBC Driver Manager et pour utiliser les applications Microsoft ODBC, exécutez la commande suivante. Par défaut, le DSN est créé en tant que DSN utilisateur.

    db2cli registerdsn -add -dsn <alias>

    où :

    <alias> est l'alias DSN que vous avez créé avec la commande db2cli writecfg

ODBC Data Source Administrator

Utilisez l'outil ODBC Data Source Administrator de Microsoft pour définir une connexion entre une application d'interface de ligne de commande ou une application ODBC et une base de données Db2 on Cloud.

Prérequis

Avant de tenter une connexion à votre base de données Db2 on Cloud, vérifiez que les prérequis sont remplis.

Procédure

  1. Installez le module de pilote Db2.

  2. Ouvrez ODBC Data Source Administrator et créez un DSN utilisateur ou un DSN système pour le module de pilote Db2.

  3. Cliquez sur Paramètres avancés. Entrez les paramètres d'interface de ligne de commande suivants avec leurs valeurs pour le serveur Db2 on Cloud : Nom d'hôte, Port et Base de données.

  4. Pour une connexion SSL, entrez le paramètre d'interface de ligne de commande Sécurité avec la valeur SSL.

  5. Cliquez sur Apply.

  6. Pour tester la connexion, retournez à la page principale d'ODBC Data Source Administrator. Cliquez sur Configurer pour le DSN que vous avez créé. Entrez l'ID utilisateur et le mot de passe du serveur et cliquez sur Connecter.

PHP Hypertext Preprocessor

Définissez une connexion entre une application PHP et une base de données Db2 on Cloud.

Prérequis

Avant de tenter une connexion à votre base de données Db2 on Cloud, vérifiez que les prérequis sont remplis.

Procédure

Scénario 1 : Connexion depuis l'extérieur de IBM Cloud :

  1. Téléchargez le module de pilote Db2 à partir de la console Web, puis installez-le sur l'ordinateur sur lequel votre application PHP s'exécutera.

  2. Utilisez la fonction odbc_connect pour vous connecter à la base de données BLUDB.

    Exemple de code PHP :

    <?php
    $database = "BLUDB";          # Get these database details from
    $hostname = "<Host-name>";    # the web console
    $user     = "<User-ID >";     #
    $password = "<Password>";     #
    $port     = "<non-ssl_port>"; #
    $ssl_port = "<port>";         #
    # Build the connection string
    #
    $driver  = "DRIVER={IBM DB2 ODBC DRIVER};";
    $dsn     = "DATABASE=$database; " .
               "HOSTNAME=$hostname;" .
               "PORT=$port; " .
               "PROTOCOL=TCPIP; " .
               "UID=$user;" .
               "PWD=$password;";
    $ssl_dsn = "DATABASE=$database; " .
               "HOSTNAME=$hostname;" .
               "PORT=$ssl_port; " .
               "PROTOCOL=TCPIP; " .
               "UID=$user;" .
               "PWD=$password;" .
               "SECURITY=SSL;";
    $conn_string = $driver . $dsn;     # Non-SSL
    $conn_string = $driver . $ssl_dsn; # SSL
    # Connect
    #
    $conn = odbc_connect( $conn_string, "", "" );
    if( $conn )
    {
        echo "Connection succeeded.";
        # Disconnect
        #
        odbc_close( $conn );
    }
    else
    {
        echo "Connection failed.";
    }
    ?>
    

    Si vous enregistrez cet exemple de code PHP dans un fichier script appelé C:\sample.php et que vous exécutez le script depuis une ligne de commande, vous obtenez la sortie suivante :

    C:\> php –f sample.php
    
    Connection succeeded.
    

Scénario 2 : Connexion à partir d'une application Web PHP dans IBM Cloud

  1. Dans le catalogue IBM Cloud, créez une nouvelle application PHP.

  2. Dans la section "Initiation" de la nouvelle application PHP de votre tableau de bord IBM Cloud, téléchargez le code de démarrage de l'application vers votre répertoire de travail local.

  3. Dans votre tableau de bord IBM Cloud, créez une nouvelle connexion entre votre service Db2 et votre nouvelle application PHP. (La création de cette connexion dans IBM Cloud rend la variable d'environnement VCAP_SERVICES disponible pour votre application PHP. La variable d'environnement VCAP_SERVICES contient les détails de base de données de votre service Db2. Utiliser VCAP_SERVICES est plus pratique que de coder en dur les détails de la base de données dans votre application PHP.)

  4. Dans votre répertoire de travail local, mettez à jour le fichier index.php pour vous connecter à la base de données BLUDB à l'aide de la fonction db2_connect.

    Exemple :

    <!DOCTYPE html>
    <html>
    <head>
        <title>PHP Starter Application</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <link rel="stylesheet" href="style.css" />
    </head>
    <body>
    <?php
    if( getenv( "VCAP_SERVICES" ) )
    {
        # Get database details from the VCAP_SERVICES environment variable
        #
        # *This can only work if you have used the Bluemix dashboard to
        # create a connection from your dashDB service to your PHP App.
        #
        $details  = json_decode( getenv( "VCAP_SERVICES" ), true );
        $dsn      = $details [ "dashDB" ][0][ "credentials" ][ "dsn" ];
        $ssl_dsn  = $details [ "dashDB" ][0][ "credentials" ][ "ssldsn" ];
        # Build the connection string
        #
        $driver = "DRIVER={IBM DB2 ODBC DRIVER};";
        $conn_string = $driver . $dsn;     # Non-SSL
        $conn_string = $driver . $ssl_dsn; # SSL
        $conn = db2_connect( $conn_string, "", "" );
        if( $conn )
        {
            echo "<p>Connection succeeded.</p>";
            db2_close( $conn );
        }
        else
        {
            echo "<p>Connection failed.</p>";
        }
    }
    else
    {
        echo "<p>No credentials.</p>";
    }
    ?>
    </body>
    </html>
    
  5. Dans votre répertoire de travail local, poussez les mises à jour vers IBM Cloud en suivant les instructions de la section "Initiation" de l'application PHP dans votre tableau de bord IBM Cloud. Redémarrez ensuite l'application dans IBM Cloud et affichez l'application dans un navigateur.