IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Commentaires

  1. Avatar de thtioxine
    • |
    • permalink
    Bonjour
    Comme dit dans mon billet, quitte à passer à sql autant le faire vraiment, la notion de table liée n'étant généralement pas une bonne idée car c'est toujours ACCESS qui gère.
    Ça ne coûte pas plus cher de faire de l'OLEDB et les gains en temps de réponse, quand c'est bien fait, sont faramineux.

    Ceci dit.
    Une table SQL se trouve systématiquement dans un schéma. Par défaut, le schéma est dbo, d'ou votre préfix.
    Quand vous reliez vos tables, celles-ci sont en effet préfixé par dbo, d'ou un nom du type dbo_xxxxx. Ne cherchez pas à vous en débarrasser du coté sql, ce n'est pas possible. Il faut le faire du coté MS ACCESS en renommant les tables. Voici un lien expliquant comment faire.

    https://www.microsoftaccessexpert.co...DBOPrefix.aspx

    Mais une fois de plus, prenez le temps de faire un rapide chiffrage d'un passage à SQL par OLEDB.

    A+



    Citation Envoyé par harpyopsis
    Bonjour Tioxine,

    Intéressant billet sur un sujet qui me donne mal à la tête depuis des semaines, alors que je suis complètement isolé pour tout faire. J'ai énormément de questions...

    Soit une BD Access 2007 de 320 tables, qui tourne depuis 5 ans.

    Quand je migre ces tables vers MS SQL Serveur avec Migration Assistant, je les retrouve affublées d'un préfixe "dbo."

    Comme ces tables sur Server vont être réimportées (liées) dans la même front-end Access d'origine, ce changement de noms impromptu ("Jarnicoton") va tout foutre en l'air !

    Je ne comprends pas si c'est Migr. Assist ou bien SSMS qui génère ce préfixe dbo.

    Est-il justifié, ou serait-ce une erreur, de s'en débarrasser immédiatement avant de s'occuper des PK-FK ???

    (OK, je viens de voir sur un forum anglais que dbo c'est "Data Base Owner", que c'est généré par SQL Server pour faciliter les recherches dans de très grosses DB, et que la grande majorité des programmeurs s'en débarrassent sans complexe)

    Comment faire ? Je suis complètement novice en SQL sur des objets avec MSSQL.

    Je viens de voir

    EXEC sp_rename

    et

    EXEC sp_MSforeachtable

    Comment créer et exécuter un loop avec ça dans SSMS ???

    Je suis au désespoir....

    Je viend de trouver ceci sur Stackoverflow, qu'en pensez-vous ???



    ............ Non, décidément aucun code SQL ne marche pour supprimer le préfixe dbo.... Je viens d'en essayer une demi-douzaine, alors que le temps presse tellement...

    .............Mais je viens de voir qu'il serait possible de le maintenir dans les tables su SQL Server, mais de renommer ces mêmes tables dans Access une fois reliées...

    Je ne sais que penser.....

    Merci pour votre éventuelle réponse !

    phil
  2. Avatar de harpyopsis
    • |
    • permalink
    Bonjour Tioxine,

    Intéressant billet sur un sujet qui me donne mal à la tête depuis des semaines, alors que je suis complètement isolé pour tout faire. J'ai énormément de questions...

    Soit une BD Access 2007 de 320 tables, qui tourne depuis 5 ans.

    Quand je migre ces tables vers MS SQL Serveur avec Migration Assistant, je les retrouve affublées d'un préfixe "dbo."

    Comme ces tables sur Server vont être réimportées (liées) dans la même front-end Access d'origine, ce changement de noms impromptu ("Jarnicoton") va tout foutre en l'air !

    Je ne comprends pas si c'est Migr. Assist ou bien SSMS qui génère ce préfixe dbo.

    Est-il justifié, ou serait-ce une erreur, de s'en débarrasser immédiatement avant de s'occuper des PK-FK ???

    (OK, je viens de voir sur un forum anglais que dbo c'est "Data Base Owner", que c'est généré par SQL Server pour faciliter les recherches dans de très grosses DB, et que la grande majorité des programmeurs s'en débarrassent sans complexe)

    Comment faire ? Je suis complètement novice en SQL sur des objets avec MSSQL.

    Je viens de voir

    EXEC sp_rename

    et

    EXEC sp_MSforeachtable

    Comment créer et exécuter un loop avec ça dans SSMS ???

    Je suis au désespoir....

    Je viend de trouver ceci sur Stackoverflow, qu'en pensez-vous ???

    declare @oq nvarchar(max) = N'prefix_'
    declare @cmd nvarchar(max)
    select @cmd = a from (
    select 'EXEC sp_rename ''' + TABLE_NAME + ''', ''' + REPLACE(TABLE_NAME, @oq, N'') + ''' '
    from INFORMATION_SCHEMA.TABLES
    for xml path('')
    ) t(a)
    exec sp_executesql @cmd
    ............ Non, décidément aucun code SQL ne marche pour supprimer le préfixe dbo.... Je viens d'en essayer une demi-douzaine, alors que le temps presse tellement...

    .............Mais je viens de voir qu'il serait possible de le maintenir dans les tables su SQL Server, mais de renommer ces mêmes tables dans Access une fois reliées...

    Je ne sais que penser.....

    Merci pour votre éventuelle réponse !

    phil
    Mis à jour 11/09/2020 à 12h11 par harpyopsis
  3. Avatar de thtioxine
    • |
    • permalink
    Citation Envoyé par informer
    Bonjour thtioxine,

    Excellent post qui au delà des problématiques purement techniques soulèvent celles des enjeux et de l'organisation d'un projet quel qu'il soit

    Je suis toujours curieux des écarts de charges/délais estimés vs réels !

    Juste pour clarifier quand tu indiques ASP, c'est ASP.NET le framework web de Microsoft que tu évoques?
    Pourrais-tu donner un lien sur la technologie MAIS?
    Bonjour

    Non c'est bien de ASP dont je parle mais pas de ASP.net
    En effet celui-ci demande de plus grandes compétences et surtout une réécriture complète, ASP et ASP.NET étant très différent
    Cordialement
  4. Avatar de informer
    • |
    • permalink
    Bonjour thtioxine,

    Excellent post qui au delà des problématiques purement techniques soulèvent celles des enjeux et de l'organisation d'un projet quel qu'il soit

    Je suis toujours curieux des écarts de charges/délais estimés vs réels !

    Juste pour clarifier quand tu indiques ASP, c'est ASP.NET le framework web de Microsoft que tu évoques?
    Pourrais-tu donner un lien sur la technologie MAIS?