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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

ASP + PostgreSQL


Sujet :

ASP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut ASP + PostgreSQL
    Bonjour à tous,

    pour gagner en performance, j'ai décidé de migrer vers PostgreSQL.

    J'ai fait un script simple pour teste et apparement, j'ai loupé une étape... Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <% 
        set conn = Server.CreateObject("ADODB.Connection")
        conn.ConnectionString= "DRIVER={PostgreSQL};SERVER=127.0.0.1;port=6986;DATABASE=Nordi_Site6;UID=postgres;PWD=test;"
        conn.Open
     
        Req = "SELECT * from acces"
     
        set rs = Server.CreateObject("ADODB.Recordset")
        rs.open Req, conn, adOpenDynamic, adLockOptimistic
     
        while not rs.eof
     
            response.Write(rs("accesnumauto") & " - " & rs("accesnumusers") & " - " & rs("accesip"))
            response.write("<br>")
     
            rs("transit") = "OK"
            rs.update
     
            rs.movenext
        wend
     
     
    %>
    J'ai des soucis au niveau du rs.open : si je ne mets pas les parametres de curseur et de bloquage, il me fait mon affichage mais ne modifie pas... Avec les paramètres, il me dit : "
    ADODB.Recordset
    error '800a0bb9'
    Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.
    /Test/index.asp, line 17" (Ligne 17 = rs.open...)


    Qui peut m'aider car là, je ne trouve pas de solution sur Google...


    Merci beaucoup,
    Mike

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    J'ai ce soucis quand ma table est vide, est ce le cas pour toi?
    sinon essaye de remplacer adOpenDynamic, adLockOptimistic par 3, 3 mais bon ca ne devrai rien changer.
    je ne voi pas d'autre solution que la table vide.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    La table n'est pas vide !!!
    J'ai essayé 3,3 et j'ai l'erreur :

    [FONT=Arial]Microsoft OLE DB Provider for ODBC Drivers[/FONT] [FONT=Arial]error '80004005'[/FONT]
    [FONT=Arial]ERROR: column "oid" does not exist[/FONT]
    [FONT=Arial]/Test/index.asp[/FONT][FONT=Arial], line 17[/FONT]




    [FONT=Arial]As-tu une idée pour cette erreur-ci ???[/FONT]


    [FONT=Arial]Merci en tout cas de ton aide...
    [/FONT]

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Ceci marche très bien chez moi (SQL Server)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     Dim rs
     Set rs = server.CreateObject("adodb.recordset")
      rs.CursorLocation = 3
      rs.CursorType = 1
      rs.LockType = 3
      rs.open "SELECT * FROM [MATABLE];", objConn
       While not rs.eof
         response.Write(rs("MONCHAMP1")) 
         rs("MONCHAMP2") = "TOTO"
         rs.update
         response.Write(" - " & rs("MONCHAMP2") & "<br>" + Chr(13) + Chr(10))
        rs.movenext
       wend
      rs.close
     Set rs = nothing
    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    C'est bien ce qu'il me semblait... le souci vient de la DB PostgreSQL qui est plus orientée "requetes UPDATE..." que recordset.update...

    Merci de ton aide,
    Michael

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    UPDATE est aussi très pratique: http://www.w3schools.com/sql/sql_update.asp

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Je sais bien que UPDATE est bien pratique mais là, l'application fait plusieurs milliers de lignes de code et mon associé avait commencé avec les recordset.update...

    ===> on n'a pas envie de changer !!!

    Solution choisie : passer à SQL server !!

  8. #8
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Pas forcement car mm si les deux sont possibles sous SQL Server, j'ai du modifier certaines requetes (INSERT) qui utilisaient recordset.addnew car je n'arrivai pas à récupérer l'ID auto.

    Changer de BD me semble une solution bien moins pratique que de changer quelques lignes de script.

    A+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Points : 55
    Points
    55
    Par défaut
    Je me doute bien mais les quelques lignes de code se chiffrent en dizaines de milliers de lignes et donc, on va d'abord essayer avec SQL Serveur...

Discussions similaires

  1. Hebergeur asp.net /postgresql
    Par MBAYE BABACAR GUEYE dans le forum Hébergement
    Réponses: 0
    Dernier message: 23/09/2009, 20h57
  2. asp avec postgreSQL?
    Par ludo24 dans le forum ASP
    Réponses: 4
    Dernier message: 02/06/2008, 20h27
  3. [Kylix] PostgreSql via ODBC
    Par doykati dans le forum EDI
    Réponses: 3
    Dernier message: 08/02/2007, 11h10
  4. ASP, IIS, et PostGreSQL
    Par Vlacar dans le forum ASP
    Réponses: 3
    Dernier message: 04/04/2006, 12h30
  5. Réponses: 2
    Dernier message: 30/05/2002, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo