Espace Client

Appel Gratuit 0800 940 865

Guides d'utilisation

Exploitez au maximum les services d'arsys.fr

Aide

recherche



Bases de données

SQL Server

La méthode conseillée pour publier des bases de données sur Internet est d'utiliser un serveur de bases de données, car c'est un système beaucoup plus robuste et scalable que des fichiers individuels comme les bases de données Access, les fichiers de texte brut, etc.

  • SQL Server est le serveur de bases de données de Microsoft, sûr, robuste, et avec les prestations les plus avancées : transactions, processus stockés, triggers, etc. De plus, vous pourrez gérer vos bases de données sur nos serveurs, en utilisant la console de SQL Server que vous aurez installée sur votre ordinateur.
  • Facilement administrable depuis les interfaces:

Vous disposez de bases de données SQL Server, sous Windows, à partir de notre Pack Entreprise, et sur notre produit SQL Server sur lequel vous pourrez également accéder depuis un hébergement externe. Si vos besoins d'espace ou de rendement de SQL Server sont très élevés, il est également possible de commander un Serveur Dédié SQL Server.

Pour pouvoir gérer directement vos bases de données MS SQL Server et l'espace disque correspondant, vous disposez de:

  • Un panneau de contrôle avec lequel vous pourrez vérifier, à tout moment, l'espace occupé, réaliser des augmentations d'espace disque, et effectuer des activations et résiliations de vos bases de données.
  • Il est possible d'accéder au serveur MS SQL Server avec Access, ou avec la console de votre MS SQL Server depuis n'importe quelle adresse IP.

Les accès sont limités aux tâches de maintenance et/ou synchronisation des données. L'utilisation de programmes exécutables qui accèdent au serveur de données, comme une partie de son fonctionnement habituel, n'est pas autorisée. On admet que le serveur de données est utilisé, principalement, par les applications web de votre domaine (scripts CGI, ASP…).

SQL Server versus Access

Un serveur de bases de données est un programme qui stocke des données structurées sous forme de tables relationnelles. Il communique avec un port TCP/IP à travers lequel il accepte des connexions avec des clients authentifiés, admet des requêtes en langage SQL, et le client reçoit en retour les données issues du traitement des requêtes SQL.

Dans cette section, nous tacherons de vous montrer les différences entre un serveur de bases de données et système de bases de données plus simple comme par exemple Access, FoxPro, dBase....

Le serveur de bases de données que nous utilisons chez arsys.fr est Microsoft SQL Server. Parmi ses avantages nous soulignons:

  • Sa parfaite intégration avec le système d'exploitation Windows Server 2003, qui est installé sur tous nos serveurs, et avec d'autres outils connus de Microsoft comme Access et Excel.
  • Avec Microsoft Access, il est possible de créer et de gérer des bases de données SQL Server.

Qu'est ce que Access et le moteur Jet de Microsoft?

On parle souvent de bases de données Access pour faire référence aux fichiers *.mdb. Ceci n'est pas correct. Access ne crée pas et ne gère pas directement les fichiers mdb, ceci est fait par le moteur Jet de Microsoft.

  • Le moteur Jet est formé par une série de fichiers .dll de distribution gratuite qui s'installe sur le répertoire du système Windows.

    En fait, il est possible de créer sous Windows un fichier mdb, et même de le remplir de tables et de données, sans avoir Access. Il suffit pour cela d'employer ODBC ou ADO avec des programmes en Visual Basic ou même des scripts en Perl.

  • De ce point de vue, Access n'est qu'un "visualiseur" qui gère des fichiers mdb.

    Bien sûr c'est le plus complet, mais un programmeur pourrait créer son propre "Access sur mesure" avec Visual Basic ou un autre langage de programmation. La logique du traitement de ces fichiers (interprétation des requêtes SQL, création de tables...), se trouve dans les DLL qui forment le moteur Jet.

Par conséquent, si on veut faire des comparaisons entre SQL Server et les fichiers mdb, il faudra comparer SQL Server et le moteur Jet de Microsoft.

Quelles sont les similitudes et différences entre Jet et SQL Server?

Les similitudes sont:

  • Les deux sont des systèmes de stockage de données sous forme de tables relationnelles.
  • Tout deux permettent des commandes en langage SQL, même si celui de SQL Server est beaucoup plus développé, puisque c'est réellement l'interface du serveur avec le client.

En ce qui concerne les différences, elles sont plus complexes:

SQL Server est un exécutable autonome et Jet est composé de fichiers DLL.

Cette différence est très importante pour la publication de bases de données sur Internet, et au fond c'est un point clé qui fait que nous choisissions SQL Server au lieu de Jet.

  • Les fichiers DLL contiennent des bibliothèques : fonctions qui doivent être appelées par d'autres exécutables et s'exécutent dans leur espace mémoire. Ceci veut dire que la surcharge de la gestion des données pénalise l'exécutable qui fait appel aux DLL. Ainsi, si on utilise des bases de données mdb sur le web, l'excès de consommation de mémoire et cycles de CPU pénalise le serveur web qui est celui qui fait appel au moteur Jet.
  • Cependant, SQL Server est une application complète qui réalise toute la gestion relative aux données. Le serveur web n'a qu'à envoyer une chaîne de caractères (la requête SQL) et attendre en retour les données demandées. Le Serveur SQL se charge de tout. Ce partage de rôles convient beaucoup plus à la publication web.

Imaginons qu'on utilise des fichiers mdb et il y a un problème avec les données. Comme Jet s'exécute dans l'espace mémoire du serveur web, il est possible qu'il soit affecté et que les pages web du site ne s'affichent plus, ce qui serait catastrophique. Ceci ne pourrait jamais arriver avec SQL Server.

SQL Server écoute sur un port TCP/IP et Jet non.

  • SQL Server peut recevoir des connexions (clients qui veulent manipuler des données) depuis n'importe quel ordinateur connecté à Internet.

    Dans ce domaine, c'est comme un serveur web ou un serveur de courrier. La différence est le numéro du port et, évidemment, le protocole utilisé pour communiquer avec le client. Un navigateur est un client pour un serveur web, mais il ne connaît pas le protocole qui permet de communiquer avec un serveur de bases de données. Par exemple, Access 2000 ou Access XP sont des clients pour SQL Server.

  • Au contraire, Jet n'écoute aucun port.

    Bien qu'il soit possible de créer des applications qui travaillent en réseau avec des fichiers .mdb (avec Visual Basic ou Access), l'usage du réseau se limite au fait que le fichier mdb se trouve sur un ordinateur différent de l'application. Cependant, tout le processus se réalise sur une seule machine. Le réseau joue simplement le rôle de disque dur.

SQL Server permet la programmation client-serveur et Jet non.

La programmation client-serveur s'utilise lorsqu'on veut mettre en place des applications qui utilisent des réseaux et qui font communiquer plusieurs ordinateurs entre eux. Il s'agit essentiellement d'un programme qui se décompose en deux parties:

  • La partie Client, qui réside sur la machine où se trouve l'utilisateur et qui se charge de l'interaction entre eux.
  • La partie Serveur, qui réside sur un ordinateur connecté en permanence sur le réseau et qui se charge de manipuler les données.

Les deux parties de l'application communiquent entre elles au moyen d'un protocole de réseau TCP/IP. Ce qui justifie ce fonctionnement est la réduction du trafic réseau, surtout pour éviter les ralentissements et économiser la bande passante.

SQL Server admet des procédures stockées (stored procedures) réalisées en langage SQL.

  • Il s'agit de procédures qui sont sauvegardées semi-compilées sur le serveur et qui peuvent être invoquées par le client.
  • Les procédures sauvegardées pourraient être la "partie serveur" d'une application client-serveur.
  • La partie Client pourrait être une application ASP ou même une application en Visual Basic ou Access, qui peut accéder directement à SQL Server.

Puissance dans le maniement des données et connexions simultanées.

  • Le moteur Jet est un système de bases de données personnel conçu pour être géré sur un seul ordinateur ou tout au plus sur un petit réseau local.

    Pour Jet l'accès simultané aux données est plus une exception, que quelque chose d'habituel. Il dispose d'un système de blocage (les fichiers ldb), mais il n'a pas été fait pour que de nombreux clients essaient d'accéder simultanément aux données.

  • Au contraire, SQL Server peut gérer parfaitement des bases de données de plusieurs TeraBytes avec des millions d'enregistrements et fonctionne sans problème avec des milliers de connexions simultanées aux données.

    C'est un serveur qui peut gérer simultanément autant de clients que le permet la puissance du matériel de la machine où il est installé.

Quels avantages offre SQL Server pour publier des données sur Internet?

Stabilité pour le serveur web.

  • Si vous utilisez des bases de données mdb sur un site avec beaucoup de visites ou que la taille du fichier est grande, il existe alors des risques d’instabilité sur le serveur web pouvant provoquer des erreurs.
  • Au contraire, SQL Server réside dans un ordinateur différent du serveur web, et il est adapté pour permettre un nombre quelconque de visites et n'importe quelle taille de bases de données. L'utilisation de SQL Server libère le serveur web des tâches relatives aux données, ce qui augmente considérablement son rendement et sa stabilité.

Accès direct aux données.

  • Si on utilise des bases de données mdb, chaque fois qu'on doit actualiser la base de données, il faut l'uploader, en entier, par FTP. Ceci est peu efficace, et peut donner des problèmes si la base est bloquée (si elle reçoit des visites juste à ce moment là). On ne pourra jamais modifier directement depuis un ordinateur les fichiers mdb qui sont sur le serveur.
  • Au contraire, SQL Server réside dans un ordinateur différent du serveur web, et il est adapté pour permettre un nombre quelconque de visites et n'importe quelle taille de bases de données. L'utilisation de SQL Server libère le serveur web des tâches relatives aux données, ce qui augmente considérablement son rendement et sa stabilité.

Par exemple, on pourrait faire une actualisation qui synchronise les tables locales avec celles du serveur, en rajoutant des données s'il y a lieu. La caractéristique Client-serveur décrite auparavant se manifeste ici de cette manière : il est possible d'accéder à la base de données du serveur moyennant un client connecté à Internet.

Comment s'utilise une base de données SQL Server?

A partir des versions 7.0 de SQL Server et 2000 d'Office, gérer une base de données en SQL Server est aussi simple qu'en gérer une avec Access. Tout ce qu'on a appris avec Access est valable pour les bases de données SQL Serveur : visites, rapports, formulaires....

Access 2000 incorpore une caractéristique appelée projets (fichiers .adp).

  • Les projets Access sont comme les bases mdb, la différence est que les données résident sur un serveur SQL Server.
  • Les projets .adp sont donc des applications Client-serveur réalisées avec Access.
  • Il est également possible d'associer des tables SQL Server sur des applications normales d'Access (.mdb). On obtient un résultat semblable, puisque l'application travaille alors en association avec des tables qui se trouvent sur le serveur. Logiquement, ces applications ont besoin, pour pouvoir fonctionner, que l'ordinateur soit connecté à Internet.

Une autre manière de gérer votre base de données SQL Server est d'installer vous même SQL Server sur votre ordinateur ou réseau local.

  • L'application que vous utilisez pour gérer votre SQL Server local (Administrateur corporatif - Enterprise Manager) vous sert aussi pour gérer votre base de données sur notre serveur.
  • Avec Enterprise Manager vous pourrez créer des tables et des procédures sauvegardées dans la base de données du serveur.
  • Pour utiliser votre Enterprise Manager avec la base de données de notre serveur, vous devez d'abord enregistrer le serveur. Pour cela, vous devrez indiquer le nom (utilisez l'adresse IP qui apparaît dans la section SQL Server de votre panneau de contrôle), le login et le mot de passe de votre compte d'accès.

Comment puis-je copier les données d'un fichier .mdb sur un serveur SQL Server?

Access 2000 comprend un Assistant pour convertir à SQL Server. Il se trouve dans Outils / Utilitaires de la base de données.

L'assistant sollicite les données suivantes:

Utiliser une base de données existante ou créer une nouvelle base de données.

Choisissez l'utilisation d'une base de données existante. Vous n'avez pas les permissions de créer des bases de données sur notre serveur, vous ne pouvez créer que la vôtre. L'assistant affiche la fenêtre "Selectionner l'origine des données". Si vous aviez déjà crée un DSN pour accéder à SQL Server utilisez-le, sinon vous pouvez le créer maintenant (en cliquant sur le bouton Nouveau...). Si vous devez créer l'origine des données (le DSN), utilisez les données suivantes:

  • Le controleur: Microsoft SQL Server.
  • Le nom et description a choisir.
  • Sur le champ "Serveur SQL pour se connecter", écrivez l'adresse IP de votre serveur SQL (vous pourrez l'obtenir en accédant à votre panneau de contrôle, section SQL Server).
  • Choisissez " identification de SQL Server" et saisissez votre login et mot de passe d'accès.
  • Cliquez sur le bouton " Configuration du client..." et sélectionnez TCP/IP.
  • Laissez toutes les autres options par défaut.

Il est recommandé d'être connecté à Internet lorsqu'on crée le DSN pour pouvoir tester l'origine de données.

Tables a exporter.

  • Vous pouvez choisir les tables de votre base de données actuelle .mdb que vous désirez exporter vers SQL Server.
  • Vous pourrez aussi choisir si vous désirez copier simplement la structure de la table (les champs et types de données) ou également les enregistrements.

Changement vers Client-Serveur.

Vous pouvez choisir simplement d'exporter les données vers SQL Server, associer ces tables à une application existante, ou créer un nouveau fichier projet (application Client-serveur stockée dans un fichier .adp).

Les projets .adp d'Access ne permettent pas de modifier les tables SQL s'il ne leur est pas défini une clé primaire. Ceci est à prendre en compte lors de la modification de données.

Comment accéder à SQL Server depuis des pages ASP?

ADO  (ActiveX Data Objetcs) permet d'accéder de la même manière à des bases de données indépendamment de son origine. Si vous utilisez actuellement ADO pour accéder aux bases de données mdb, vous devrez changer très peu le code pour pouvoir utiliser SQL Server. En fait, la seule différence se trouve dans la chaîne de connexion.

Si vous utilisez les bases de données .mdb, la chaîne de connexion sera du genre:

"DSN=mondsn"

Si vous utilisez SQL Server, vous devez ajouter le login et mot de passe:

"DSN=mondsn;UID=login;PWD=motdepasse"

A part ça, rien ne change.

Le DSN pour accéder à SQL Server s'obtient sur le panneau de contrôle de votre service d'hébergement.

Dans ce dernier cas, il est nécessaire d'écrire un login et mot de passe dans un fichier texte (ASP) : pousser les précautions à l'extrême aussi bien sur le serveur (par exemple interdisez l'accès en lecture sur le répertoire où se trouvent les ASP) que sur les personnes qui ont accès à votre ordinateur de travail habituel ou à vos copies de sécurité locales.

Retour à l'aide

* les prix affichés sont HT.

Support

telephone

Appel Gratuit Nº vert:
0800 940 865

Drapeau français0800 940 865

Drapeau belge+32 (0)2 792 92 92

Commander

Consulter votre caddie

Accéder au catalogue