-
파일을 DB에 저장하는 프로그램IT/VB6.0 2024. 10. 10. 05:40728x90반응형
파일을 선택하여 Sql-server에 저장하고 내리는 프로그램
간단한 사용법 :
1. SQL-SERVER에 Table을 생성한다.
-> 첨부된 Text File 참조 (생성 Script)
2. ODBC 작성 (DSN: btest)
3. 프로그램 실행
-> a. 파일저장 버튼 아래의 파일(사진, 실행, Text 등)을 선택한 후 버튼을 누르면
파일이 Sql-server에 등록된다.
b. File List 버튼을 누르면 버튼 아래의 List Box에 저장 된 파일명이
조회된다.
c. List Box에서 파일을 선택한 후 파일 조회를 누르면 C:\(Drive)의 Tong에
파일이 저장된다.
d. 파일삭제를 누르면 선택된 파일이 DB에서 삭제된다.
활용방법 :
1. 이미지를 사용하는 시스템
ex) 인사관리, 그룹웨어 등에서 사진을 올려 두고 관리
2. File serrver를 사용하지 않고 DB에서 파일을 관리할 경우
ex) PDM, 제안관리 등의 첨부파일 관리
3. 자동 Setup 프로그램용 등에 활용
===> 다양한 형태의 파일을 관리할 경우 편리하게 사용가능
이진파일 DB에 저장하고 불러오기
이진 파일을 데이터베이스(DB)에 저장하고 불러오는 과정은 파일의 데이터 형식과 구조를 이해하는 것이 중요합니다. 이진 파일은 텍스트 파일과 다르게 비가시적 데이터를 포함하고 있어, 이를 적절히 처리하기 위해서는 몇 가지 단계를 거쳐야 합니다.
1. 이진 파일의 이해
이진 파일은 단순히 데이터를 저장하는 파일로, 일반적으로 0과 1의 조합으로 데이터를 표현합니다. 데이터는 텍스트가 아닌 이진 형식으로 저장되기 때문에, 텍스트 편집기로 열면 내용이 제대로 표시되지 않을 수 있습니다. 예를 들어, JPEG 이미지 파일이나 실행 파일(EXE) 등이 이에 해당합니다.
이진 파일은 효율적으로 데이터를 처리할 수 있으며, 프로그램에 필요한 정보를 신속하게 저장하고 읽어올 수 있는 장점이 있습니다.
2. 이진 파일을 데이터베이스에 저장하기
이진 파일을 데이터베이스에 저장하기 위해서는 먼저 파일을 이진 형식으로 읽고, 그 데이터를 데이터베이스의 이진 데이터 타입(BLOB, Binary Large Object)에 저장해야 합니다. 일반적인 SQL 데이터베이스(예: MySQL, PostgreSQL)에서는 다음과 같은 방법으로 이진 파일을 저장할 수 있습니다:
Dim filePath As String Dim fileData() As Byte Dim dbCmd As New OleDbCommand Dim dbConn As New OleDbConnection("데이터베이스 연결 문자열") ' 파일 경로 filePath = "C:\path\to\your\file.bin" ' 파일 열기 Open filePath For Binary As #1 ReDim fileData(LOF(1) - 1) ' 파일 크기만큼 배열 재조정 Get #1, , fileData ' 파일 내용을 배열로 읽기 Close #1 ' 데이터베이스에 연결 dbConn.Open() dbCmd.Connection = dbConn dbCmd.CommandText = "INSERT INTO YourTable (BinaryDataColumn) VALUES (?)" dbCmd.Parameters.Add(New OleDbParameter("BinaryDataColumn", fileData)) dbCmd.ExecuteNonQuery() ' 쿼리 실행 dbConn.Close()
위의 VB 코드 예제에서는 지정된 파일을 이진 형식으로 읽고, 읽어온 데이터를 데이터베이스에 새로운 레코드로 삽입합니다. 이 코드에서 중요한 것은, Open 문을 통해 이진 파일을 열고, Get 문으로 파일의 내용을 읽어오는 부분입니다.
3. 데이터베이스에서 이진 파일 불러오기
데이터베이스에 저장된 이진 파일을 불러오는 과정은 저장하는 과정과 유사합니다. 단, 이번에는 이진 데이터를 데이터베이스에서 읽어와 파일로 저장해야 합니다. 다음은 이진 파일을 데이터베이스에서 불러오는 예시입니다:
Dim fileData() As Byte Dim dbCmd As New OleDbCommand Dim dbConn As New OleDbConnection("데이터베이스 연결 문자열") Dim filePath As String = "C:\path\to\save\your\file.bin" ' 데이터베이스에 연결 dbConn.Open() dbCmd.Connection = dbConn dbCmd.CommandText = "SELECT BinaryDataColumn FROM YourTable WHERE ID = ?" dbCmd.Parameters.Add(New OleDbParameter("ID", yourID)) Dim reader As OleDbDataReader = dbCmd.ExecuteReader() If reader.Read() Then fileData = CType(reader("BinaryDataColumn"), Byte()) ' 이진 데이터 읽기 ' 파일로 저장 Open filePath For Binary As #1 Put #1, , fileData ' 파일에 이진 데이터 쓰기 Close #1 End If reader.Close() dbConn.Close()
이 코드는 데이터베이스에서 특정 이진 데이터를 읽고, 이를 다시 파일로 저장하는 과정을 보여줍니다. 여기서는 SELECT 쿼리를 사용하여 특정 레코드의 이진 데이터를 가져온 후, Put 문을 통해 파일에 씁니다.
4. 결론
이진 파일을 DB에 저장하고 불러오는 과정은 비단 데이터베이스뿐 아니라, 다양한 응용프로그램에서 많이 활용되는 기술입니다. 데이터의 처리 속도가 중요하다면 이진 파일 형식을 선택할 수 있으며, 이러한 과정을 통해 데이터를 보다 효율적으로 관리할 수 있습니다. 이진 파일에 대한 이해와 올바른 저장 및 불러오기 방법을 숙지하면, 향후 개발 과정에서도 많은 도움이 될 것입니다.
728x90'IT > VB6.0' 카테고리의 다른 글
VB개발 표준서 (양식 및 SAMPLE) (0) 2024.10.13 근태용 단말기 시뮬레이터 (소켓 통신) (2) 2024.10.13 WINSOCK으로 만든 메신저 (0) 2024.10.10 도움말 작성 (1) 2024.10.09 폼 및 모듈내의 명령어 검색 프로그램 (1) 2024.10.09