인공지능 6/25

2021. 6. 28. 09:52인공지능 수업(Python)

#인공지능

#파이썬

#Python

 

oracle sql 연동하는 법을 배웠습니다.


=========================
 Oracle
=========================

# Oracle Tutorial

  https://www.oracletutorial.com/


# Windows에서 Oracle 11g 삭제

  https://gseducation.blog.me/20093778870


# Oracle Database Express Edition (XE) Release 18.4.0.0.0 (18c) 설치

  https://appsnuri.tistory.com/497

  -> 설치 뒤 -> 관련 서비스 수동 시작으로 설정 변경 -> 관리자 권한으로 명령 프롬프트 시작

  C:\windows\system32> notepad xe_stop.bat

    net stop OracleServiceXE
    net stop OracleOraDB18Home1TNSListener

  C:\windows\system32> notepad xe_start.bat

    net start OracleOraDB18Home1TNSListener
    net start OracleServiceXE

  C:\windows\system32> xe_stop

  C:\windows\system32> xe_start


# Connecting to a Pluggable Database (PDB)

  참고.https://oracle-base.com/articles/12c/multitenant-connecting-to-cdb-and-pdb-12cr1#pdb

  [1] 설치 뒤 SQL*Plus로 접속

    C:\Users\COM> sqlplus / as sysdba         <- CDB에 접속하는 것임

    SQL> col name format a30
    SQL> col pdb  format a30

    SQL> select name, pdb
         from v$services
         order by name;

    NAME                           PDB
    ------------------------------ ------------------------------
    SYS$BACKGROUND                 CDB$ROOT
    SYS$USERS                      CDB$ROOT
    xe                             CDB$ROOT   <- CDB(Container Database)
    xeXDB                          CDB$ROOT
    xepdb1                         XEPDB1     <- PDB(Pluggable Database), 우리가 사용할 DB

    SQL> show con_name

    CON_NAME
    ------------------------------
    CDB$ROOT

    SQL> exit

    C:\Users\COM> sqlplus system/wdft7240@localhost:1521/xepdb1     <- PDB에 관리자로 접속

    SQL> show con_name

    CON_NAME
    ------------------------------
    XEPDB1

    SQL> drop user ace cascade;    -- ace 유저가 있다면 먼저 삭제!

    SQL> create user ace           -- ace 유저 생성
         identified by me
         quota unlimited on users
         default tablespace users
         temporary tablespace temp;

    SQL> grant connect, resource
         to ace;

    SQL> exit

    C:\Users\COM> sqlplus ace/me@localhost:1521/xepdb1

    SQL> show con_name

    CON_NAME
    ------------------------------
    XEPDB1

    SQL> show user
    USER은 "ACE"입니다


  [2] 설치 뒤 SQL Developer로 접속

    다음과 같이 접속 새로 만들기

      - 접속 이름   : ace@xepdb1  
      - 사용자 이름 : ace
      - 비밀번호    : me

      - 호스트 이름 : localhost
      - 포트        : 1521
      - 서비스 이름 : xepdb1

    테스트
  
    접속

    쿼리 실행     

      select * from v$version;


  [3] 실습용 Schema 생성

    스크립트 파일 다운로드 및 실행 
  
    -> https://cafe.naver.com/n1books/11
 

=========================
 Python + Oracle
=========================

# SQL Developer에서 ace 계정으로 접속 

CREATE TABLE billing_headers(
    billing_no NUMBER GENERATED BY DEFAULT AS IDENTITY,
    billing_date DATE NOT NULL,
    amount NUMBER(19,4) DEFAULT 0 NOT NULL,
    customer_id NUMBER NOT NULL,
    note VARCHAR2(100),
    PRIMARY KEY(billing_no)
);

CREATE TABLE billing_items(
    item_no NUMBER 
        GENERATED BY DEFAULT AS IDENTITY 
        START WITH 10 
        INCREMENT BY 10,
    billing_no NUMBER NOT NULL,
    product_id NUMBER NOT NULL,
    price NUMBER(10,2) DEFAULT 0 NOT NULL,
    PRIMARY KEY(item_no, billing_no),
    FOREIGN KEY(billing_no) 
        REFERENCES billing_headers(billing_no)
);


# 명령 프롬프트에서 실행 

  pip install cx_Oracle

















==================
 Others
==================

# Oracle SQL

  - https://www.oracletutorial.com/
 
    -> Oracle 문법을 Python으로 구현해보기

       https://cannonhiter.tistory.com/25


# Oracle PL/SQL

  - https://www.oracletutorial.com/plsql-tutorial/


# Python + Oracle

  - Oracle 18c XE 환경 설정

  - Python Oracle

    - https://www.oracletutorial.com/python-oracle/

  - cx_Oracle - Python Interface for Oracle Database

    - https://oracle.github.io/python-cx_Oracle/
    - https://oracle.github.io/python-cx_Oracle/samples/tutorial/Python-and-Oracle-Database-Scripting-for-the-Future.html

  - Perform Basic CRUD Operations Using cx_Oracle

    - https://blogs.oracle.com/oraclemagazine/perform-basic-crud-operations-using-cx-oracle-part-1
    - https://blogs.oracle.com/oraclemagazine/perform-basic-crud-operations-with-cx-oracle-part-2
    - https://blogs.oracle.com/oraclemagazine/perform-basic-crud-operations-with-cx-oracle-part-3
    - https://blogs.oracle.com/oraclemagazine/perform-basic-crud-operations-with-cx-oracle-part-4
    - https://blogs.oracle.com/oraclemagazine/perform-plsql-operations-with-cx_oracle


# Flask + Oracle

  - 참고

    -> [002-2] Flask_서브노트.txt
    -> https://www.javatpoint.com/flask-sqlite


'인공지능 수업(Python)' 카테고리의 다른 글

인공지능 6/29  (0) 2021.06.29
인공지능 6/28  (0) 2021.06.28
인공지능 6/24  (0) 2021.06.24
인공지능 6/23  (0) 2021.06.23
인공지능 6/22  (0) 2021.06.22