0
votes

Requêtes travaillant dans l'interface utilisateur Web de flocon de neige mais pas cohérente à travers le connecteur Python Sqlalchemy

J'ai une configuration de connexion SQLalchemy au flocon de neige qui fonctionne, car je peux exécuter des requêtes et obtenir des résultats. Les tentatives d'interrogation sont également connectées à mon historique utilisateur_Quisery.

Ma connexion: p> xxx pré>

Cependant, la plupart du temps mes requêtes échouent d'une erreur opérationnelle de retour (c'est-à-dire une erreur de flocon de neige) https://docs.sqlalchemy.org/fr/13/errors.html#error-e3q8 . Mais ces mêmes requêtes vont fonctionner correctement dans l'interface utilisateur de la flocon de neige. P>

Par exemple si j'exécute p>

test_query = 'SELECT * FROM TABLE DB1.SCHEMA1.TABLE1'
test = pd.read_sql(test_query, connection)
  • Query = 'Desc Table / * SQLalchemy: _has_Object * / "Sélectionnez * à partir de DB1". "Schema1". "Table1" P>

    Code d'erreur = 2003 Message d'erreur = Erreur de compilation SQL: Base de données '"Select * à partir de DB1" n'existe pas. P> li> ul>

    puis 1 seconde plus tard, la requête elle-même fonctionnera avec succès, mais non claire où cela se passe comme ça ne se fait pas être envoyé sur la connexion. p>

    • Query = Sélectionnez * à partir de la table DB1.SCHEMA1.TABLE1 LI> ul>

      Toute aide beaucoup appréciée! Merci p> p>


2 commentaires

Pouvez-vous essayer d'utiliser uniquement "Test_query =" Select * à partir de table1 "" car vous avez déjà mentionné la base de données et le schéma de la connexion?


J'ai donné cela un essai et j'ai toujours fait face au même problème malheureusement


3 Réponses :


0
votes

Vous pouvez essayer d'ajouter un schéma ici également ici xxx


1 commentaires

Le compte des paramètres, etc. ont des valeurs de chaîne, je ne les ai tout simplement pas ajoutées ici pour la simplicité



0
votes

Il est très peu probable que la requête soit exécutée dans Webui et échoue avec une erreur de syntaxe lorsqu'elle est connectée via CLI ou d'autres modes.

Vous suggère d'imprimer la requête qui se trouve via CLI ou via un connecteur, exécutez la même chose à WebUI et notez également que le rôle que vous utilisez la requête.

S'il vous plaît partager quelle est votre découverte.


1 commentaires

Merci d'avoir répondu. Si j'utilise le code SELECT * à partir de la table db1.schema1.table1 dans le Webui Ça marche. Ensuite, lorsque je l'exécute à travers le connecteur Sqlalchemy, il échoue, mais dans la requête de mon utilisateur, il montre que la tentative SQLalchemy n'a pas fonctionné, mais il y a ensuite une rollback, puis il a couru la requête «comme» une seconde plus tard , qui a réussi. Y a-t-il une certaine syntaxe qui me manque autour de la requête ci-dessus pour le flocon de neige Sqlalchmey pour le lire correctement, ou une manière d'extraire cette tentative réussie?



0
votes

La requête mentionnée (SELECT * à partir de la table DB1.SCHEMA1.TABLE1) n'est pas une syntaxe SQL de flocon de neige.

link ici vous aidera davantage avec des détails. J'espère que cela vous aidera!


0 commentaires