2012-08-15 5 views
1

나는 MySQL 데이터베이스와 함께 C# 프로젝트를 작업 중이다. 로그 파일이 있는데이 파일을 데이터베이스에 저장하려고합니다.MySQL 데이터베이스에 파일 저장

데이터베이스에 실제 파일을 저장하고 싶지만 문자열에 인코딩하거나 문자열에 바이트를 쓰고 데이터베이스에 저장해야한다는 것은 저장하는 방법입니다. 파일, 나는 당신이 명령 파일 경로를 줄 수 있다고 생각하고 데이터베이스에서 소프트웨어에있는 모든 인코딩을 할 필요없이 그것을 저장합니다.

이 점이 다른 점이 있다면, PHP에서 다시 검색해야하지만 이것은 중요하지 않다고 생각합니다.

답변

1

예 문자열이나 바이트로 인코딩해야 파일을 저장할 수 있습니다. 또 다른 방법은 로그 파일 위치를 저장하고 디스크에 로그 파일을 저장하는 것입니다.

0

프로그램은 로그 파일을 구문 분석하여 SQL 쿼리로 변환해야합니다.

0

내용의을 데이터베이스에 저장하려면 예를 인코딩하거나 바이트를 테이블 열에 저장하십시오. 그 주위에 방법이 없습니다.

파일에 경로를 저장하려면 경로의 매개 변수를 MySQLCommand에 전달하면되지만 파일 시스템에서 파일을 옮기는 순간 레코드가 유효하지 않으며, 명백하게.

Link 어느 접근법이 가장 좋은지에 대한 다소의 의문이 있습니다. 파일 내용을 데이터베이스에 저장하거나 단순히 파일 시스템의 경로에 저장하는 것입니다.

0

Log4Net을 사용하지 않는 이유는 무엇입니까? 데이터베이스에 자동으로 로그인하는 기능이 있습니다. 이 조금 우스꽝스러운 소리가 날지도 모른다

orignal decayed link: http://logging.apache.org/log4net/release/sdk/log4net.Appender.AdoNetAppender.html

+0

링크가 부 족하게되었습니다. – JohnP

+0

@JohnP 감사합니다 - 설정 예제에 대한 링크를 추가했습니다, 불행히도 MySQL이 직접 거기에 링크되어 있지는 않지만 예제는 알아낼 수있는 충분한 정보를 제공합니다 –

1

Log4Net에 데이터베이스를 연결하는 방법에 대한 자세한 내용은 https://logging.apache.org/log4net/release/config-examples.html에서 봐하지만 당신은 여기에 LOAD_FILE function

을 조사해야 할 것은 MySQL의 문서

에 대한 예입니다
mysql> UPDATE t 
     SET blob_col=LOAD_FILE('/tmp/picture') 
     WHERE id=1; 

만큼 로그 파일이 BLOB에 들어갈 정도로 작으로, 그 당신의 유일한 기회가에서의

로그 파일이 너무 큰 경우 로그 파일을 어딘가에 보관하고 대신 파일 위치를 저장하십시오.

관련 문제