본문 바로가기
반응형

database4

Python - Databse BLOB 란? 사용법 BLOB(blob)는 Binary Large Object의 약자로써, 보통 기본적으로는 사진과 파일과 같은 블록형 데이터를 저장하는 용도이다. 따라서 Database의 자료 형태 역시 Byte를 기본으로 하고 있어서, 이러한 자료를 저장하는데 최적화 되어 있다고 할 수 있다. 그렇다면 Python에서는 어떻게 사용할 수 있을까? 가장 쉽게는 SQLachemy를 이용하는 방법이 있을 것이다. 1. BLOB 데이터 입력하기 데이터를 입력하기 위해서는 먼저 SQLachemy 는 LargeBinary 라는 타입으로 선언해주는 것이 좋다. 아래는 클래스를 선언하는 예시이다. from sqlalchemy import LargeBinary, MetaData class User(Base): __tablename__ =.. 2024. 3. 7.
MariaDB/MySQL - Database 파일 위치 변경하기 MariaDB/MySQL를 관리할 때 가장 기본적인 부분이 바로 Database는 사이즈이다. Database는 말 그대로 데이터를 저장하는 저장소이기 때문에 많은 양의 데이터를 저장하다 보면 디스크공간이 가득차게된다. 따라서 별도의 넉넉한 저장 공간을 만들어 데이터베이스를 위치하는게 좋은데, 기본적으로 데이터베이스 경로는 아래에 위치해 있다. /var/lib/mysql/ 여기에서는 데이터베이스 경로를 변경하는 방법에 대해서 알아보고자 한다. 1. 현재 데이터베이스 위치 확인하기 데이터베이스 위치를 확인하기 위해서는 먼저 mysql을 이용해서 로그인을 해야한다. $ sudo mysql -u root -p 이후 환경 변수인 @@datadir 를 이용하면 현재 위치 정보를 확인할 수 있다. MariaDB [.. 2022. 12. 14.
.NET - MySqlCommand'Character set 'utf8mb3' is not supported by .Net Framework.' 오류 해결 오랫만에 .NET 코드를 사용하니 아래와 같은 오류가 발생한다. 'Character set 'utf8mb3' is not supported by .Net Framework.' 이 문제는 utf8을 현재 라이브러리에서 지원하지 않기 때문에 발생한다. 라이브러리 Update를 통해 해결하는 방법이 정석이겠지만, 가장 쉬운 방법은 Database에서 utf16_general_ci로 변경하는 것이다. MySQLCommand 구분에 다음 명령으로 Character Set을 변경할 수 있다. "SET character_set_results=utf8 "을 통해 utf8으로 문자열을 설정하도록 하자. (1회만 진행하면 유지된다.) MySqlCommand cmd = new MySqlCommand("SET characte.. 2022. 11. 11.
.Net - EF 'Entity type 'xxx' has composite primary key defined with data annotations. To set composite primary key, use fluent API.' 금일 Database 의 PK(Primary Key)를 2개 지정하여 사용하다가 이와 같은 오류를 마주하였다. 이 오류는 .Net Entity Framework에서 Primary Key 2개가 실제 EF에서 적절하게 매핑이 되지 않아서 발생한다. 아래 그림과 같이 Data Model에 2개의 키를 지정해 준 상황에 발생하는 오류라고 할 수 있다. [Key] [Required] public string testkey { get; set; } public string version { get; set; } public string type { get; set; } [Key] [Required] public string realkey { get; set; } 따라서 Entity 생성 시점에 PK가 2개임을 알.. 2020. 11. 26.
반응형