OVH Cloud OVH Cloud

SQL Server / Access

6 réponses
Avatar
Nicolas Mathieu
J'ai un projet qui consiste à migrer une base Access vers SQL Server.
J'utilise toujours Access comme application cliente.
J'ai exporté les tables d'Access vers SQL Server. J'ai créé des tables liées
à SQL Server par un lien ODBC. J'ai transformé le code VBA pour
l'utilisation d'ADO. Et enfin j'ai transformé les requêtes SELECT en vues.
Cela fonctionne et les temps d'accès sont nettement améliorés. Mais est-ce
la bonne méthode? Puis-je encore optimiser son fonctionnement pour SQL
Server? On m'a conseillé d'utiliser des procédures stockées, quels en sont
les avantages?

Merci d'avance.

Nico.

6 réponses

Avatar
Philippe Pham Minh
Bonjour Nicolas,

Le mieux est de créer un projet .ADP qui permet d'utiliser Access comme une
application cliente et tous les objets (tables, vues...) sont stockés du
côté de SQL server. Dans ce cas, c'est l'OLEDB qui est utilisé ce qui
optimise encore plus les performances.
HOW TO: Convert an Access Database to SQL Server
http://support.microsoft.com/?id#7980

L'inconvénient avec les tables attachées (ou liées) est que le moteur Jet
est obligé de 'charger' tous les enregistrements avant d'exécuter une
requête et avec une table d'un million d'enregistrements par exemple, tu
sentiras tout de suite la différence.

Philippe


"Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
message de news:%
J'ai un projet qui consiste à migrer une base Access vers SQL Server.
J'utilise toujours Access comme application cliente.
J'ai exporté les tables d'Access vers SQL Server. J'ai créé des tables


liées
à SQL Server par un lien ODBC. J'ai transformé le code VBA pour
l'utilisation d'ADO. Et enfin j'ai transformé les requêtes SELECT en vues.
Cela fonctionne et les temps d'accès sont nettement améliorés. Mais est-ce
la bonne méthode? Puis-je encore optimiser son fonctionnement pour SQL
Server? On m'a conseillé d'utiliser des procédures stockées, quels en sont
les avantages?

Merci d'avance.

Nico.




Avatar
Nicolas Mathieu
Merci beaucoup, très pratique les projet .ADP
Mais je débute en SQL Server, et je ne vois pas l'avantage d'une procédure
stockées. Quand les utiliser? Quelles fonctions de l'ancienne base sous
Access transformer en procédure stockée? Si tu pouvais me donner un exemple
d'utilisation...
Encore merci de ton aide.

Nico


"Philippe Pham Minh" a écrit dans le message
de news:
Bonjour Nicolas,

Le mieux est de créer un projet .ADP qui permet d'utiliser Access comme


une
application cliente et tous les objets (tables, vues...) sont stockés du
côté de SQL server. Dans ce cas, c'est l'OLEDB qui est utilisé ce qui
optimise encore plus les performances.
HOW TO: Convert an Access Database to SQL Server
http://support.microsoft.com/?id#7980

L'inconvénient avec les tables attachées (ou liées) est que le moteur Jet
est obligé de 'charger' tous les enregistrements avant d'exécuter une
requête et avec une table d'un million d'enregistrements par exemple, tu
sentiras tout de suite la différence.

Philippe


"Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
message de news:%
> J'ai un projet qui consiste à migrer une base Access vers SQL Server.
> J'utilise toujours Access comme application cliente.
> J'ai exporté les tables d'Access vers SQL Server. J'ai créé des tables
liées
> à SQL Server par un lien ODBC. J'ai transformé le code VBA pour
> l'utilisation d'ADO. Et enfin j'ai transformé les requêtes SELECT en


vues.
> Cela fonctionne et les temps d'accès sont nettement améliorés. Mais


est-ce
> la bonne méthode? Puis-je encore optimiser son fonctionnement pour SQL
> Server? On m'a conseillé d'utiliser des procédures stockées, quels en


sont
> les avantages?
>
> Merci d'avance.
>
> Nico.
>
>




Avatar
Philippe Pham Minh
En fait, le projet .ADP permet d'utiliser Access comme une interface. Tous
les objets sont stockés du côté de SQL Server.

Concernant ta question, SQL Server n'offre pas de requêtes pour construire
des applications personnalisées, comme le fait Access. Cependant, il fournit
des fonctionnalités similaires dans ses vues et ses procédures stockées.
"Une vue est une instruction SQL qui retourne des lignes sans utiliser de
paramètres ou d'instruction ORDER BY.
Par contre, une procédure stockée peut utiliser à la fois des paramètres et
ORDER BY pour spécifier un ensemble de lignes retournées. Les procédures
stockées peuvent aussi exécuter des instructions SQL qui ne retournent pas
de lignes, telles que INSERT, UPDATE et DELETE."

Les vues et les procédures stockées, qui ont été d'abord disponibles pour la
gestion de base de données de haut de gamme, sont disponibles dans Access
2000, 2002 & 2003. Ces versions d'Access "implémentent les vues qui ne
supportent pas de paramètres, comme les requêtes stockées qui retournent des
lignes. Ces versions d'Access comportent aussi des procédures stockées comme
les requêtes Action ou les les requêtes Paramètre sauvegardées qui
fonctionnent comme des requêtes Action ou Sélection."

J'espère t'avoir éclairé un petit peu plus.
Bonne journée,

Philippe


"Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
message de news:%
Merci beaucoup, très pratique les projet .ADP
Mais je débute en SQL Server, et je ne vois pas l'avantage d'une procédure
stockées. Quand les utiliser? Quelles fonctions de l'ancienne base sous
Access transformer en procédure stockée? Si tu pouvais me donner un


exemple
d'utilisation...
Encore merci de ton aide.

Nico


"Philippe Pham Minh" a écrit dans le


message
de news:
> Bonjour Nicolas,
>
> Le mieux est de créer un projet .ADP qui permet d'utiliser Access comme
une
> application cliente et tous les objets (tables, vues...) sont stockés du
> côté de SQL server. Dans ce cas, c'est l'OLEDB qui est utilisé ce qui
> optimise encore plus les performances.
> HOW TO: Convert an Access Database to SQL Server
> http://support.microsoft.com/?id#7980
>
> L'inconvénient avec les tables attachées (ou liées) est que le moteur


Jet
> est obligé de 'charger' tous les enregistrements avant d'exécuter une
> requête et avec une table d'un million d'enregistrements par exemple, tu
> sentiras tout de suite la différence.
>
> Philippe
>
>
> "Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
> message de news:%
> > J'ai un projet qui consiste à migrer une base Access vers SQL Server.
> > J'utilise toujours Access comme application cliente.
> > J'ai exporté les tables d'Access vers SQL Server. J'ai créé des tables
> liées
> > à SQL Server par un lien ODBC. J'ai transformé le code VBA pour
> > l'utilisation d'ADO. Et enfin j'ai transformé les requêtes SELECT en
vues.
> > Cela fonctionne et les temps d'accès sont nettement améliorés. Mais
est-ce
> > la bonne méthode? Puis-je encore optimiser son fonctionnement pour SQL
> > Server? On m'a conseillé d'utiliser des procédures stockées, quels en
sont
> > les avantages?
> >
> > Merci d'avance.
> >
> > Nico.
> >
> >
>
>




Avatar
Nicolas Mathieu
Merci, j'y vois beaucoup plus clair.
Bonne soirée
Nico

"Philippe Pham Minh" a écrit dans le message
de news:u$
En fait, le projet .ADP permet d'utiliser Access comme une interface. Tous
les objets sont stockés du côté de SQL Server.

Concernant ta question, SQL Server n'offre pas de requêtes pour construire
des applications personnalisées, comme le fait Access. Cependant, il


fournit
des fonctionnalités similaires dans ses vues et ses procédures stockées.
"Une vue est une instruction SQL qui retourne des lignes sans utiliser de
paramètres ou d'instruction ORDER BY.
Par contre, une procédure stockée peut utiliser à la fois des paramètres


et
ORDER BY pour spécifier un ensemble de lignes retournées. Les procédures
stockées peuvent aussi exécuter des instructions SQL qui ne retournent pas
de lignes, telles que INSERT, UPDATE et DELETE."

Les vues et les procédures stockées, qui ont été d'abord disponibles pour


la
gestion de base de données de haut de gamme, sont disponibles dans Access
2000, 2002 & 2003. Ces versions d'Access "implémentent les vues qui ne
supportent pas de paramètres, comme les requêtes stockées qui retournent


des
lignes. Ces versions d'Access comportent aussi des procédures stockées


comme
les requêtes Action ou les les requêtes Paramètre sauvegardées qui
fonctionnent comme des requêtes Action ou Sélection."

J'espère t'avoir éclairé un petit peu plus.
Bonne journée,

Philippe


"Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
message de news:%
> Merci beaucoup, très pratique les projet .ADP
> Mais je débute en SQL Server, et je ne vois pas l'avantage d'une


procédure
> stockées. Quand les utiliser? Quelles fonctions de l'ancienne base sous
> Access transformer en procédure stockée? Si tu pouvais me
> donner un exempled'utilisation...
> Encore merci de ton aide.
>
> Nico
>
>
> "Philippe Pham Minh" a écrit dans le
> message
> de news:
> > Bonjour Nicolas,
> >
> > Le mieux est de créer un projet .ADP qui permet d'utiliser Access
> > comme une application cliente et tous les objets (tables, vues...)
> > sont stockés du côté de SQL server. Dans ce cas, c'est l'OLEDB
> > qui est utilisé ce qui optimise encore plus les performances.
> > HOW TO: Convert an Access Database to SQL Server
> > http://support.microsoft.com/?id#7980
> >
> > L'inconvénient avec les tables attachées (ou liées) est que le moteur
Jet
> > est obligé de 'charger' tous les enregistrements avant d'exécuter une
> > requête et avec une table d'un million d'enregistrements par exemple,


tu
> > sentiras tout de suite la différence.
> >
> > Philippe
> >
> >
> > "Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
> > message de news:%
> > > J'ai un projet qui consiste à migrer une base Access vers SQL


Server.
> > > J'utilise toujours Access comme application cliente.
> > > J'ai exporté les tables d'Access vers SQL Server. J'ai créé des


tables
> > liées
> > > à SQL Server par un lien ODBC. J'ai transformé le code VBA pour
> > > l'utilisation d'ADO. Et enfin j'ai transformé les requêtes SELECT en
> vues.
> > > Cela fonctionne et les temps d'accès sont nettement améliorés. Mais
> est-ce
> > > la bonne méthode? Puis-je encore optimiser son fonctionnement pour


SQL
> > > Server? On m'a conseillé d'utiliser des procédures stockées, quels


en
> sont
> > > les avantages?
> > >
> > > Merci d'avance.
> > >
> > > Nico.
> > >
> > >
> >
> >
>
>




Avatar
JFF
Précisions intéressantes pour moi aussi. Je me permets une question
subsidiaire :
Je pars d'une appli Access en 2 bases, une ne contenant que les tables (+
relations et contraintes) et une contenant tout le frontal (vues, forms,
états, code VBA...), utilisant les tables attachées sur la première.
Je veux migrer sous SQL Server le maximum de choses mais avec le minimum de
travail (je ne veux pas tout reconstruire à la main dans SQL).
L'outil de migration de Access, appliqué à la base 1 (tables), me propose de
faire un ADP qui ne me sert à rien puisque le frontal (à commencer par les
requetes) n'est pas dans l'appli ; et il ne s'applique pas à la base 2
(applicatif) qui n'a pas de tables.

Quelle est la bonne démarche ?
A défaut d'une démarche globale : Comment migrer des requetes Access en vues
ou procédures stockées SQL S. ?
Merci.

"Philippe Pham Minh" a écrit dans le message
de news:u$
En fait, le projet .ADP permet d'utiliser Access comme une interface. Tous
les objets sont stockés du côté de SQL Server.

Concernant ta question, SQL Server n'offre pas de requêtes pour construire
des applications personnalisées, comme le fait Access. Cependant, il


fournit
des fonctionnalités similaires dans ses vues et ses procédures stockées.
"Une vue est une instruction SQL qui retourne des lignes sans utiliser de
paramètres ou d'instruction ORDER BY.
Par contre, une procédure stockée peut utiliser à la fois des paramètres


et
ORDER BY pour spécifier un ensemble de lignes retournées. Les procédures
stockées peuvent aussi exécuter des instructions SQL qui ne retournent pas
de lignes, telles que INSERT, UPDATE et DELETE."

Les vues et les procédures stockées, qui ont été d'abord disponibles pour


la
gestion de base de données de haut de gamme, sont disponibles dans Access
2000, 2002 & 2003. Ces versions d'Access "implémentent les vues qui ne
supportent pas de paramètres, comme les requêtes stockées qui retournent


des
lignes. Ces versions d'Access comportent aussi des procédures stockées


comme
les requêtes Action ou les les requêtes Paramètre sauvegardées qui
fonctionnent comme des requêtes Action ou Sélection."

J'espère t'avoir éclairé un petit peu plus.
Bonne journée,

Philippe


"Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
message de news:%
> Merci beaucoup, très pratique les projet .ADP
> Mais je débute en SQL Server, et je ne vois pas l'avantage d'une


procédure
> stockées. Quand les utiliser? Quelles fonctions de l'ancienne base sous
> Access transformer en procédure stockée? Si tu pouvais me donner un
exemple
> d'utilisation...
> Encore merci de ton aide.
>
> Nico
>
>
> "Philippe Pham Minh" a écrit dans le
message
> de news:
> > Bonjour Nicolas,
> >
> > Le mieux est de créer un projet .ADP qui permet d'utiliser Access


comme
> une
> > application cliente et tous les objets (tables, vues...) sont stockés


du
> > côté de SQL server. Dans ce cas, c'est l'OLEDB qui est utilisé ce qui
> > optimise encore plus les performances.
> > HOW TO: Convert an Access Database to SQL Server
> > http://support.microsoft.com/?id#7980
> >
> > L'inconvénient avec les tables attachées (ou liées) est que le moteur
Jet
> > est obligé de 'charger' tous les enregistrements avant d'exécuter une
> > requête et avec une table d'un million d'enregistrements par exemple,


tu
> > sentiras tout de suite la différence.
> >
> > Philippe
> >
> >
> > "Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
> > message de news:%
> > > J'ai un projet qui consiste à migrer une base Access vers SQL


Server.
> > > J'utilise toujours Access comme application cliente.
> > > J'ai exporté les tables d'Access vers SQL Server. J'ai créé des


tables
> > liées
> > > à SQL Server par un lien ODBC. J'ai transformé le code VBA pour
> > > l'utilisation d'ADO. Et enfin j'ai transformé les requêtes SELECT en
> vues.
> > > Cela fonctionne et les temps d'accès sont nettement améliorés. Mais
> est-ce
> > > la bonne méthode? Puis-je encore optimiser son fonctionnement pour


SQL
> > > Server? On m'a conseillé d'utiliser des procédures stockées, quels


en
> sont
> > > les avantages?
> > >
> > > Merci d'avance.
> > >
> > > Nico.
> > >
> > >
> >
> >
>
>




Avatar
JFF
Mes questions n'ont plus lieu d'être :
mes premiers tests de migration étaient très partiels, parce que j'avais des
versions anciennes et hétérogènes entre Access et SQL server.
Je crois que je vais attendre qq mois que les versions 2003 soient dispo et
déboguées, et je ne devrais plus avoir aucun travail "manuel". :-)

"JFF" a écrit dans le message de
news:bomc7f$1cg$
Précisions intéressantes pour moi aussi. Je me permets une question
subsidiaire :
Je pars d'une appli Access en 2 bases, une ne contenant que les tables (+
relations et contraintes) et une contenant tout le frontal (vues, forms,
états, code VBA...), utilisant les tables attachées sur la première.
Je veux migrer sous SQL Server le maximum de choses mais avec le minimum


de
travail (je ne veux pas tout reconstruire à la main dans SQL).
L'outil de migration de Access, appliqué à la base 1 (tables), me propose


de
faire un ADP qui ne me sert à rien puisque le frontal (à commencer par les
requetes) n'est pas dans l'appli ; et il ne s'applique pas à la base 2
(applicatif) qui n'a pas de tables.

Quelle est la bonne démarche ?
A défaut d'une démarche globale : Comment migrer des requetes Access en


vues
ou procédures stockées SQL S. ?
Merci.

"Philippe Pham Minh" a écrit dans le


message
de news:u$
> En fait, le projet .ADP permet d'utiliser Access comme une interface.


Tous
> les objets sont stockés du côté de SQL Server.
>
> Concernant ta question, SQL Server n'offre pas de requêtes pour


construire
> des applications personnalisées, comme le fait Access. Cependant, il
fournit
> des fonctionnalités similaires dans ses vues et ses procédures stockées.
> "Une vue est une instruction SQL qui retourne des lignes sans utiliser


de
> paramètres ou d'instruction ORDER BY.
> Par contre, une procédure stockée peut utiliser à la fois des paramètres
et
> ORDER BY pour spécifier un ensemble de lignes retournées. Les procédures
> stockées peuvent aussi exécuter des instructions SQL qui ne retournent


pas
> de lignes, telles que INSERT, UPDATE et DELETE."
>
> Les vues et les procédures stockées, qui ont été d'abord disponibles


pour
la
> gestion de base de données de haut de gamme, sont disponibles dans


Access
> 2000, 2002 & 2003. Ces versions d'Access "implémentent les vues qui ne
> supportent pas de paramètres, comme les requêtes stockées qui retournent
des
> lignes. Ces versions d'Access comportent aussi des procédures stockées
comme
> les requêtes Action ou les les requêtes Paramètre sauvegardées qui
> fonctionnent comme des requêtes Action ou Sélection."
>
> J'espère t'avoir éclairé un petit peu plus.
> Bonne journée,
>
> Philippe
>
>
> "Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans le
> message de news:%
> > Merci beaucoup, très pratique les projet .ADP
> > Mais je débute en SQL Server, et je ne vois pas l'avantage d'une
procédure
> > stockées. Quand les utiliser? Quelles fonctions de l'ancienne base


sous
> > Access transformer en procédure stockée? Si tu pouvais me donner un
> exemple
> > d'utilisation...
> > Encore merci de ton aide.
> >
> > Nico
> >
> >
> > "Philippe Pham Minh" a écrit dans le
> message
> > de news:
> > > Bonjour Nicolas,
> > >
> > > Le mieux est de créer un projet .ADP qui permet d'utiliser Access
comme
> > une
> > > application cliente et tous les objets (tables, vues...) sont


stockés
du
> > > côté de SQL server. Dans ce cas, c'est l'OLEDB qui est utilisé ce


qui
> > > optimise encore plus les performances.
> > > HOW TO: Convert an Access Database to SQL Server
> > > http://support.microsoft.com/?id#7980
> > >
> > > L'inconvénient avec les tables attachées (ou liées) est que le


moteur
> Jet
> > > est obligé de 'charger' tous les enregistrements avant d'exécuter


une
> > > requête et avec une table d'un million d'enregistrements par


exemple,
tu
> > > sentiras tout de suite la différence.
> > >
> > > Philippe
> > >
> > >
> > > "Nicolas Mathieu" <nicolas.mathieu(AROBASE)tiscali.fr> a écrit dans


le
> > > message de news:%
> > > > J'ai un projet qui consiste à migrer une base Access vers SQL
Server.
> > > > J'utilise toujours Access comme application cliente.
> > > > J'ai exporté les tables d'Access vers SQL Server. J'ai créé des
tables
> > > liées
> > > > à SQL Server par un lien ODBC. J'ai transformé le code VBA pour
> > > > l'utilisation d'ADO. Et enfin j'ai transformé les requêtes SELECT


en
> > vues.
> > > > Cela fonctionne et les temps d'accès sont nettement améliorés.


Mais
> > est-ce
> > > > la bonne méthode? Puis-je encore optimiser son fonctionnement pour
SQL
> > > > Server? On m'a conseillé d'utiliser des procédures stockées, quels
en
> > sont
> > > > les avantages?
> > > >
> > > > Merci d'avance.
> > > >
> > > > Nico.
> > > >
> > > >
> > >
> > >
> >
> >
>
>