
필요한 경우 이를 적절한 위치에 올려 놓습니다. 어디서 가장 좋은 반응을 얻을 수 있는지 잘 모르겠습니다.
보고 애플리케이션을 만들어야 하는데 가능하다면 Ubuntu를 사용하고 싶습니다. 원본 데이터는 구분된 로그 파일을 지정된 위치로 주기적으로 FTP로 전송할 수 있는 어플라이언스 기반 애플리케이션에서 제공됩니다. 나는 해당 데이터를 사용하여 다양한 배포 그룹에 이메일로 전송되는 예정된 보고서(Excel 형식의 PDF)를 작성하는 데 사용될 MySQL 데이터베이스(생성 예정)를 업데이트하는 메커니즘을 개발하고 싶습니다. 우리는 다양한 MySQL 쿼리를 생성하고 데이터베이스를 설계할 수 있는 내부 능력을 갖고 있지만 Linux/Ubuntu에서는 최선의 접근 방식을 결정하는 방법을 알지 못합니다. 우리는 Crystal Reports를 사용하여 Windows 측의 다른 응용 프로그램에 대해 비슷한 작업을 수행하고 있지만 이 응용 프로그램을 배포해야 하는 필요성을 고려하면 Windows 라이센스 비용 등을 처리할 필요가 없습니다...
적절한 도구/접근 방식에 대한 조언이 필요하고, 상당한 비용을 들이지 않고도 이 작업을 효과적으로 수행할 수 있는 자격을 갖춘 리소스를 어디서 찾을 수 있는지에 대한 권장 사항도 필요합니다.
답변1
다음 구문을 사용하여 명령줄에서 명령을 구문 분석할 수 있습니다.
mysql -u {user} -p{password} {database} <{text.file}
그러면 {text.file}에서 {database}까지의 모든 줄이 구문 분석됩니다. 텍스트 파일에는 유효한 MySQL 지침이 포함되어야 하며 비밀번호는 일반 텍스트로 표시되므로 ps
해당 내용을 그대로 유지하는 것이 좋습니다 my.cnf
(보안이 우선).
2가지 방법...
MySQL 명령을 사용할 수 있습니다데이터 로드(추가 옵션은 링크 참조):
데이터 로드 [낮은_우선순위 | 동시] [LOCAL] INFILE {text2.file} INTO TABLE {table}
text.file 내부에 텍스트 파일을 테이블에 삽입합니다. 이렇게 하면 기존 줄을 덮어쓰게 되므로 매번 새 파일을 만들어야 합니다. LOAD DATA는 매우 빠릅니다. 더 짧은 방법(Caesium의 의견에서 한 줄로 작성):
mysql -u {user} -p {pass} -e "LOAD DATA {rest of command}" {db}
INSERT INTO
text.file에 '를 많이 넣을 수 있습니다 . 이는 LOAD DATA보다 느리지만 구현하기가 더 쉬울 수 있습니다.