"Oracle streamlit grid"의 두 판 사이의 차이
DB CAFE
(새 문서: == Oracle Streamlit Grid == <source lang=python> import streamlit as st import cx_Oracle import pandas as pd # 데이터베이스 연결 정보 USERNAME = 'dbcafe' PASSWORD = 'clcl...) |
(→Oracle Streamlit Grid) |
||
8번째 줄: | 8번째 줄: | ||
# 데이터베이스 연결 정보 | # 데이터베이스 연결 정보 | ||
USERNAME = 'dbcafe' | USERNAME = 'dbcafe' | ||
− | PASSWORD = ' | + | PASSWORD = 'password' |
HOSTNAME = '127.0.0.1' | HOSTNAME = '127.0.0.1' | ||
PORT = 1521 | PORT = 1521 |
2024년 8월 21일 (수) 22:04 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
Oracle Streamlit Grid[편집]
import streamlit as st
import cx_Oracle
import pandas as pd
# 데이터베이스 연결 정보
USERNAME = 'dbcafe'
PASSWORD = 'password'
HOSTNAME = '127.0.0.1'
PORT = 1521
SERVICE_NAME = 'ORCL'
# DSN (Data Source Name) 구성
dsn_tns = cx_Oracle.makedsn(HOSTNAME, PORT, service_name=SERVICE_NAME)
# Streamlit 앱 제목 설정
st.title('Oracle Database Grid Example with Streamlit')
def fetch_data_from_oracle(query):
""" Oracle 데이터베이스에서 데이터를 가져오는 함수 """
try:
# 데이터베이스에 연결
connection = cx_Oracle.connect(user=USERNAME, password=PASSWORD, dsn=dsn_tns)
cursor = connection.cursor()
# 쿼리 실행
cursor.execute(query)
# 결과를 데이터프레임으로 변환
columns = [desc[0] for desc in cursor.description]
data = cursor.fetchall()
df = pd.DataFrame(data, columns=columns)
# 연결 닫기
cursor.close()
connection.close()
return df
except cx_Oracle.DatabaseError as e:
st.error(f"Database error: {e}")
return pd.DataFrame()
# 쿼리 입력
query = st.text_area("Enter SQL Query", "SELECT * FROM all_tables")
# 데이터 가져오기 및 그리드로 출력
if st.button('Fetch Data'):
if query.strip():
df = fetch_data_from_oracle(query)
if not df.empty:
st.dataframe(df)
else:
st.write("No data available or query failed.")
else:
st.write("Please enter a valid SQL query.")