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

R Discussion :

package RODBC - fct sqlQuery : largeur de colonne


Sujet :

R

  1. #1
    Futur Membre du Club
    Femme Profil pro
    statisticien
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : statisticien
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut package RODBC - fct sqlQuery : largeur de colonne
    Bonjour,

    J'utilise le package RODBC pour me connecter aux bases de données SQL server.
    Par une requête je récupère les individus et caractéristiques qui m'intéressent.
    Dans la table que je crée, j'ai des colonnes contenant des chaines de caractères (contenant un ou plusieurs mots), elles sont donc de taille variable.
    Je ne peux pas récupérer l'intégralité de l'information au-delà de 255 caractères.

    Y a-t-il une façon de paramétrer odbcConnect ou sqlQuery de sorte à pourvoir récupérer des chaines de caractères de plus de 255 caractères?
    Ou une autre façon de procéder?

    Je vous donne un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ch <- odbcConnect("BASE", uid="server", pwd="motdepasse")
    Query <- "SELECT  Champ FROM [BASE].matable"
    test <- sqlQuery(ch, Query, stringsAsFactors = FALSE)
    odbcClose(ch)
    #--> donne 255 alors que champ est de taille 260!

    Merci par avance pour votre aide.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Ce n'est pas un problème dû à RODBC, mais au driver ODBC que vous utilisez.
    Il devrait avoir un paramètre "maxvarchar" qui, par défaut, est renseigné à la valeur "255".

    Je n'ai pas de driver SQL Server sous la main, mais sous PostgreSQL, voici ce que ça donne : il faut aller dans les "sources de données ODBC", sélectionner votre source ODBC, cliquer sur "Configurer".
    Dans la zone "Options", pour PostgreSQL, j'ai une zone "Miscellaneous" avec un champ "Max Varchar" qui vaut 255. Il faut modifier cette valeur.

    Désolé de ne pouvoir faire mieux, faute d'avoir SQL Server...

    Mais l'idée est là.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Futur Membre du Club
    Femme Profil pro
    statisticien
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : statisticien
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut
    Merci pour votre réponse, en fait il n'est pas possible de configurer cette option dans mon cas.
    Cependant, nous avons finit par trouver la solution en changeant de driver, récapitulatifs et détails ci-dessous :

    Nous avons constaté que dans les conditions suivantes :

    - Plateforme Windows 64 bit (en l'occurrence, 2008 R2, mais le système ne doit pas intervenir)
    - SQL Server 2008 64 bit
    - Utilisation de RODBC

    seuls les 255 premiers caractères dans champs contenant une chaîne de caractères seront ramenés selon le driver utilisé pour se connecter à la base.

    Pour obtenir les chaînes de caractères dans toute leur longueur, nous avons dû configurer la source de données
    avec le driver suivant :
    SQL Server / 6.01.7601.17514 / SQLSRV32.dll

    J'espère que cela permettra à d'autres d'économiser du temps...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment fixer les largeurs des colonnes d'un TStrinGrid
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/08/2005, 13h24
  2. forcer largeur de colonne qd URL chargee
    Par Batou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/08/2005, 10h38
  3. Fixer la largeur des colonnes d'une CListCtrl
    Par Depteam1 dans le forum MFC
    Réponses: 4
    Dernier message: 28/06/2005, 15h46
  4. Largeur de colonne d'une ListView
    Par deaqu1 dans le forum IHM
    Réponses: 7
    Dernier message: 07/06/2005, 19h45
  5. [C#] Largeur de colonne et de ligne dans un DataGrid
    Par pc152 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/08/2004, 14h09

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