88 votes

Comment puis-je visualiser directement les blobs dans MySQL Workbench ?

J'utilise MySQL Workbench CE 5.2.30 CE / Rev 6790 . Lorsque l'on exécute l'instruction suivante :

SELECT OLD_PASSWORD("test")

Je ne reçois qu'un gentil BLOB je dois cliquer avec le bouton gauche de la souris pour sélectionner la cellule, cliquer avec le bouton droit de la souris et choisir "Ouvrir la valeur dans le visualiseur", puis sélectionner l'onglet "Texte".

En utilisant la même chose avec phpMyAdmin, je reçois directement en retour la valeur de l'objet de l'enquête. OLD_PASSWORD appeler. Ce n'est qu'un exemple, mais existe-t-il un moyen de voir directement ces résultats dans la sortie ?

0 votes

Assurez-vous de vérifier ma réponse ci-dessous - upvotée 41 fois - je reçois encore (3 ans plus tard) des personnes qui l'upvotent.

0 votes

@spioter merci pour le rappel, fait ! Bien que je ne l'ai pas testé car je ne l'utilise pas actuellement.

0 votes

Merci mark ! je ne sais pas pourquoi j'ai supposé que l'auteur de la question originale ne verrait même pas mon commentaire - je le mettais juste comme une indication pour les futurs spectateurs :-p merci.

124voto

spioter Points 677

En bref :

  1. Aller à Modifier > Préférences
  2. Choisissez Editeur SQL
  3. En Exécution SQL , vérifier Traiter BINARY/VARBINARY comme une chaîne de caractères non binaires
  4. Redémarrez MySQL Workbench (vous ne serez pas invité ou informé de cette exigence).

Dans MySQL Workbench 6.0 et plus

  1. Aller à Modifier > Préférences
  2. Choisissez Requêtes SQL
  3. En Résultats des requêtes , vérifier Traiter BINARY/VARBINARY comme une chaîne de caractères non binaires
  4. Il n'est pas obligatoire de redémarrer MySQL Workbench (vous ne serez pas invité ou informé de cette exigence).*

Avec ce paramètre, vous pourrez concaténer des champs sans obtenir de blobs.

Je pense que cela s'applique aux versions 5.2.22 et ultérieures et que c'est le résultat de ce bogue MySQL .

Disclaimer : Je ne sais pas quel est l'inconvénient de ce paramètre - peut-être lorsque vous sélectionnez BINARY / VARBINARY vous les verrez sous forme de texte brut, ce qui peut être trompeur et/ou nuire aux performances s'ils sont suffisamment grands ?

2 votes

Pour info : dans la version 5.2.39 de MySQL Workbench, c'est "SQL Editor", et non "SQL Queries".

0 votes

Dans la version 5.2.44 CE rev 9933, le code posté par le posteur original affiche les données correctement. Je suis presque sûr que le paramètre pertinent est "Treat BINARY/VARBINARY as nonbinary character string" qui peut être accédé via : Edit/Preferences/SQL Queries (sous la section "Query Results") Ce paramètre doit être vérifié - je ne me souviens pas s'il était vérifié par défaut.

0 votes

Merci de ne pas éditer mon post sans mettre à jour le numéro de la version à laquelle l'édition s'applique - au moment de ce post 2014-11-23 11:28 - elles ne sont pas compatibles. Soit pour revenir à l'original, soit pour mettre à jour le numéro de version pour être exact.

34voto

Dan Sherman Points 69

Je ne suis pas sûr que cela réponde à votre question, mais si vous cliquez avec le bouton droit de la souris sur l'icône "blob" dans le champ (lors de l'affichage de la table), il existe une option pour "Ouvrir la valeur dans l'éditeur". L'un des onglets vous permet de visualiser le blob. Ceci est dans la ver. 5.2.34

0 votes

Cela devrait être la réponse acceptée car il n'est pas nécessaire de modifier les paramètres.

0 votes

Pour ajouter à cela. Ça marche aussi pour moi. Lorsque vous cliquez sur Ouvrir la valeur dans l'éditeur, les valeurs binaires s'affichent par défaut, mais si vous remarquez qu'il y a un onglet indiquant Text . Cet onglet vous montre les bonnes valeurs en format texte :)

0 votes

Je suis d'accord, c'est la solution la plus simple. Je n'avais pas remarqué que le popup avait des onglets, ce qui était mon problème.

31voto

NKP Points 149

Effectuez trois étapes :

  1. Allez dans "WorkBench Preferences" --> Choisissez "SQL Editor" Sous "Query Results" : cochez "Treat BINARY/VARBINARY as nonbinary character string".

  2. Redémarrez MySQL WorkBench.

  3. Sélectionnez maintenant SELECT SUBSTRING(BLOB<COLUMN_NAME>,1,2500) FROM <Table_name>;

6 votes

C'est drôle de voir à quel point cette réponse est similaire et plus tardive que celle qui a obtenu le meilleur score :-p

0 votes

@Johny19 : Je pense qu'il est en train d'être upvoted à cause de l'exemple avec "SUBSTRING".

2 votes

Non BLOB<COLUMN_NAME> mais <BLOB_COLUMN_NAME>

15voto

CSTobey Points 243

La coulée fonctionne, mais c'est une douleur, donc je recommanderais d'utiliser la méthode de spioter à moins que vous utilisiez beaucoup de données vraiment blob.

SELECT CAST(OLD_PASSWORD("test") AS CHAR)

Vous pouvez également lancer d'autres types, et même restreindre la taille, mais la plupart du temps, j'utilise simplement CHAR : http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast

0 votes

Je ne sais pas si c'est une conséquence du casting, mais j'ai fait exactement ce que vous avez suggéré et les nouvelles lignes ne sont pas apparues. J'ai obtenu un très long texte en une seule ligne. En tout cas, cela a servi à ce dont j'avais besoin.

0 votes

C'est en fait MySQL workbench, si vous faites un clic droit, afficher dans une fenêtre popup, alors il s'affichera correctement... oui, c'est ennuyeux.

7voto

dmag Points 370

J'ai bien peur que ce ne soit pas possible, c'est répertorié comme un bug dans Workbench : http://bugs.mysql.com/bug.php?id=50692 Ce serait pourtant très utile !

1 votes

Ce n'est plus la bonne réponse (depuis la 5.2.22). Voir la réponse de spioter ci-dessous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X