본문 바로가기
MATLAB

MATLAB database SQL문 작성하기 (JDBC / ODBC)

by deeplearningkakao 2022. 2. 15.
반응형

안녕하세요.

MATLAB database SQL문 작성하는 부분을 살펴보도록 하겠습니다.

 

 

JDBC

프로그래밍 방식으로 JDBC 데이터 소스 생성 및 옵션 설정

 

이 예제는 JDBC 데이터소스를 생성하고, JDBC 연결 옵션을 설정하고,

데이터 소스를 저장하는 방법을 보여줍니다.

여기서는 Microsoft SQL server 데이터베이스에 대한 걸 구축합니다.

 

JDBC 데이터 소스 생성

JDBC 데이터베이스 연결을 위한 SQL Server 데이터 원본을 만듭니다.

vendor = "Microsoft SQL Server";
opts = databaseConnectionOptions("jdbc",vendor)

opts = 
  SQLConnectionOptions with properties:

              DataSourceName: ""
                      Vendor: "Microsoft SQL Server"

          JDBCDriverLocation: ""
                DatabaseName: ""
                      Server: "localhost"
                  PortNumber: 1433
          AuthenticationType: "Server"

 

 

optsSQLConnectionOptions는 다음 속성을 가진 개체입니다 .

 

  • DataSourceName— 데이터 소스의 이름
  • Vendor— 데이터베이스 공급업체 이름
  • JDBCDriverLocation— JDBC 드라이버 파일의 전체 경로
  • DatabaseName— 데이터베이스 이름
  • Server— 데이터베이스 서버의 이름
  • PortNumber- 포트 번호
  • AuthenticationType— 인증 유형

 

JDBC 연결 옵션 설정

SQLServerDataSource 데이터 소스에 대한 JDBC연결옵션, JDBC드라이버파일의 전체경로, 데이터베이스이름 toystore_doc, 데이터베이스 서버 dbtb04, 포트번호 54317 및 windows인증을 설정하여 데이터 소스를 구성할 수 있습니다.

또한 드라이버별 연결 옵션을 설정하여 데이터베이스 연결을 설정하기 위한 시간 초과 값을 지정하고 SSL암호화를 비활성화 합니다.

 

opts = setoptions(opts, ...
    "DataSourceName","SQLServerDataSource", ...
    "JDBCDriverLocation", ...
    "C:\Drivers\mssql-jdbc-7.0.0.jre8.jar", ...
    "DatabaseName","toystore_doc", ...
    "Server","dbtb04","PortNumber",54317, ...
    "AuthenticationType","Windows","loginTimeout","20", ...
    "encrypt","false")

opts = 
  SQLConnectionOptions with properties:

              DataSourceName: "SQLServerDataSource"
                      Vendor: "Microsoft SQL Server"

          JDBCDriverLocation: "C:\Drivers\mssql-jdbc-7.0.0.jre8.jar"
                DatabaseName: "toystore_doc"
                      Server: "dbtb04"
                  PortNumber: 54317
          AuthenticationType: "Windows"

Additional Connection Options:

                     encrypt: "false"
                loginTimeout: "20"

 

 

 

이 setoptions함수는 객체의 DataSourceName, JDBCDriverLocation, DatabaseName, Server, PortNumber및 AuthenticationType속성을 설정 SQLConnectionOptions합니다. 드라이버별 연결 옵션은 다른 연결 옵션 아래에 나타납니다.

 

 

JDBC 데이터 소스 테스트 및 저장

빈 사용자 이름과 암호를 사용하여 데이터베이스 연결을 테스트합니다. testConnection함수는 데이터베이스 연결이 성공했음을 나타내는 논리값을 반환 합니다.

username = "";
password = "";
status = testConnection(opts,username,password)

status = logical
   1

 

반응형

 

구성된 데이터 소스를 저장합니다.

saveAsDataSource(opts)

 

 

 

ODBC

 

이 예제는 객체와 sqlfind함수 를 사용하여 데이터베이스 정보를 검색하는 방법을 보여줍니다 .
그리고 테이블이 포함된 MySQL® 데이터베이스에 연결하고 있다고 가정합니다.

 

데이터베이스에 연결

사용자 이름과 암호를 사용하여 MySQL 데이터베이스에 대한 ODBC 데이터베이스 연결을 생성합니다.

 

datasource = "MySQL ODBC";
username = "username";
password = "password";
conn = database(datasource,username,password);

 

카탈로그 및 스키마 찾기

 

개체 의 Catalogs속성을 사용하여 데이터베이스의 카탈로그를 표시 합니다.

conn.Catalogs

ans =

  1×7 cell array

  Columns 1 through 4

    {'information_sch…'}    {'detsdb'}    {'mysql'}    {'performance_sch…'}

  Columns 5 through 7

    {'sys'}    {'toy_store'}    {'toystore_doc'}

 

 

개체 의 Schemas속성을 사용하여 데이터베이스의 스키마를 표시 합니다.connection

conn.Schemas

ans =

  0×0 empty cell array

 

테이블 유형 찾기


객체 sqlfind와 함께 함수를 사용하여 데이터베이스의 모든 테이블 유형을 찾습니다 .

 

tables = sqlfind(conn,'');

 

처음 세 가지 테이블 유형을 표시합니다.

tables(1:3,:)

ans =

  3×5 table

        Catalog           Schema            Table             Columns        Type   
    ________________    __________    __________________    ___________    _________

    {'toystore_doc'}    {0×0 char}    {'Person'        }    {1×5  cell}    {'TABLE'}
    {'toystore_doc'}    {0×0 char}    {'airlinesmall'  }    {1×29 cell}    {'TABLE'}
    {'toystore_doc'}    {0×0 char}    {'inventoryTable'}    {1×4  cell}    {'TABLE'}

 

 

테이블의 테이블 유형을 찾습니다.

tablename = 'productTable';
data = sqlfind(conn,tablename);
data.Type

ans =

  1×1 cell array

    {'TABLE'}

 

 

 

테이블 열 찾기


데이터베이스 테이블의 모든 열을 찾아 productTable표시합니다.

data = sqlfind(conn,tablename);
data.Columns{:}

ans =

  1×5 cell array

  Columns 1 through 4

    {'productNumber'}    {'stockNumber'}    {'supplierNumber'}    {'unitCost'}

  Column 5

    {'productDescript…'}

 

 

 

데이터베이스 연결 닫기

close(conn)

 

반응형

댓글