Das Zentraldatenbankverbindungs ​​-Skript funktioniert nicht, nachdem die Funktion in anderen Python -Skripten verwendetPython

Python-Programme
Anonymous
 Das Zentraldatenbankverbindungs ​​-Skript funktioniert nicht, nachdem die Funktion in anderen Python -Skripten verwendet

Post by Anonymous »

Ich bin neu in Python und habe an einem Projekt gearbeitet, das einige Abfragen aus der Snowflake -Datenbank ausführen muss. Mein Ansatz hier ist es, ein zentrales .py -Skript mit einer Funktion Connect_Snowflake () zu erstellen, die in anderen Skripten aufgerufen werden kann. Der Grund, warum ich dies tue, ist, dass ich, sobald ich meine Entwicklung in der Dev -Umgebung durchgeführt habe, in mehreren Dateien keine Anmeldeinformationen für die Testumgebung ändern möchte.import snowflake.connector

def connect_snowflake(user, password, account, warehouse, database, schema):
conn = None # Initialize connection variable
try:
conn = snowflake.connector.connect(
user=user,
password=password,
account=account,
warehouse=warehouse,
database=database,
schema=schema
)
print("✅ Connection to Snowflake successful!")

# Execute a simple query to verify connection
cur = conn.cursor()
cur.execute("SELECT CURRENT_VERSION()")
version = cur.fetchone()
print(f"🔹 Snowflake Version: {version[0]}")

except Exception as e:
print(f"❌ Failed to connect to Snowflake: {e}")

# Replace with actual credentials
connect_snowflake(
user="USER_DEV",
password="xxxxxxxxxx",
account="xxxxxxx.north-europe.azure",
warehouse="xxxxxxxx_DEV_WH",
database="xxxxxxxxx_DEV_DB",
schema="xxxxxxxxxxxx"
)
< /code>
Jetzt, da ich dieses Skript geschrieben habe, wird es erfolgreich individuell ausgeführt und gibt mir die Ausgabe wie unten < /p>
aus.✅ Connection to Snowflake successful!
� Snowflake Version: 9.3.3
< /code>
Jetzt ist hier mein zweites Skript, das versucht, eine Abfrage auszuführen, um einige Datensätze aus einer Tabelle in Snowflake DB abzurufen. Es läuft in Verbindung mit der Verbindung erfolgreich, fragt jedoch erneut nach Anmeldeinformationen. Dies besiegt den Zweck der Erstellung einer zentralen Verbindung.import snowflake.connector
from snowflake.connector import connect
import pandas as pd
from pySnowflake_Connection import connect_snowflake

connsnf = connect_snowflake()

table_query="select * from TABLE_DATA_STG"
#pd.read_sql_query(table_query,snowflake_connection)

connsnf.execute(table_query)
datafetch = connsnf.fetch_pandas_all()
#print(datafetch.to_string())
datafetch.to_csv('C:/xxxx/Project/PyDataLoad/TABLE_DATA_STG.csv',sep = '|',encoding='utf-8',doublequote=True)
< /code>
Bei diesem gibt es mir immer noch Ausgabe wie unten, < /p>
✅ Connection to Snowflake successful!
� Snowflake Version: 9.3.3
Traceback (most recent call last):
File "c:\xxxx\Project\PyDataLoad\pyImport_SNF_Data_2.py", line 6, in
connsnf = connect_snowflake()
^^^^^^^^^^^^^^^^^^^
TypeError: connect_snowflake() missing 6 required positional arguments: 'user', 'password', 'account', 'warehouse', 'database', and 'schema'
< /code>
Die Tabelle enthält rund 10.000 Datensätze und daher erwarte ich die tatsächliche Zahl. Sobald ich erfolgreich ist, werde ich einfache Auswahl von Col1, Col2 ... von Abfragen stg_table_1 ausführen. Aber es scheint, dass ich keine Ausgabe für diese erste Abfrage bekomme. Dieses Skript mit allem an einem Ort funktioniert. Aber wie bereits gesagt, möchte ich ein zentrales Arbeitsskript, da ich mehr solche Skripte schreiben und wenn ich sie in eine neue Umgebung migriere, möchte ich nicht weiterhin mehrere Dateien bearbeiten. Es wäre viel schwierig, wenn ich meinen Code auf jemand anderen übertragen muss und dann weiterhin Änderungen in mehreren Dateien vornehmen muss. < /P>
Ich habe sogar das ausprobiert. Env -Methode, aber damit hat sich nicht einmal mit Schneeflocken verbunden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post