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> 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> 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> Toute aide beaucoup appréciée!
Merci p> p>test_query = 'SELECT * FROM TABLE DB1.SCHEMA1.TABLE1'
test = pd.read_sql(test_query, connection)
3 Réponses :
Vous pouvez essayer d'ajouter un schéma ici également ici
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é
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. p>
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. p>
S'il vous plaît partager quelle est votre découverte. p>
Merci d'avoir répondu. Si j'utilise le code SELECT * à partir de la table db1.schema1.table1 code> 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?
La requête mentionnée (SELECT * à partir de la table DB1.SCHEMA1.TABLE1) n'est pas une syntaxe SQL de flocon de neige. P>
link ici vous aidera davantage avec des détails. J'espère que cela vous aidera! P>
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