Hướng dẫn

Nếu bạn lần đầu ghé thăm blog của mình, bạn có thể vào phần hướng dẫn để biết thêm thông tin và cách sử dụng blog này.

Thứ Năm, 28 tháng 10, 2010

Ứng dụng dò lỗi tập tin MySQL

Những người từng sử dụng MySQL đã quen với việc xuất / nhập (Export / Import) dạng mã SQL để chuyển giao hay xử lý. Tất nhiên việc để nguyên mã SQL được xuất từ một ứng dụng sinh mã SQL thì không có gì để bàn cãi, vì cú pháp của ứng dụng đó sinh ra phải chính xác. Nhưng giả sử chúng ta cần thay thế một đoạn nhỏ nào đó trong mớ SQL này thì sao. Việc thay thế đó đôi khi phát sinh những lỗi cú pháp không mong muốn. Những lỗi này thường là:
  • Xóa nhầm phần đóng của chú thích (comment)
  • Xóa nhầm dấu kết thúc chuỗi (chuỗi đơn hoặc chuỗi kép)
  • Thêm dư hoặc chưa escape ký tự nháy đơn hoặc nháy kép trong nội dung chuỗi
  • Escape sai ký tự quy định do thừa dấu \ trong chuỗi (MySQL có những ký tự sau có thể đi kèm với dấu \ là: 0, ', ", \, b, n, r, t, Z, %, _)



Và công việc không lấy gì phức tạp khi ta phải "soi" một đoạn mã chừng < 1000 dòng. Nếu phải "soi" đoạn mã chừng 10.000 dòng, 100.000 dòng hay thậm chí cả triệu dòng thì sao.

Rắc rối ở đây trước tiên là dữ liệu quá lớn, việc dùng ứng dụng(NotePad++) mở những đoạn mã khổng lồ sẽ có thể làm treo máy. Khi mở ra rồi thì ta sẽ làm gì nào, "soi" bằng "niềm tin" chăng ? Tất nhiên chúng ta không thể dùng mắt thường mà tìm ra lỗi được. Chính vì vậy mình có phát triển một công cụ nhỏ, giúp các bạn yêu MySQL có thể sử dụng để kiểm tra cú pháp những đoạn mã SQL lớn.


Giao diện và cài đặt
Ứng dụng này được viết dựa trên nền tảng .NET, cần phải cài .NET 2.0 trước khi sử dụng (bạn có thể tải tại đây). Tải ứng dụng tại đây.



Cách sử dụng
Nắm kéo tập tin cần kiểm tra và thả vào ứng dụng.

Nguyên tắc hoạt động
Ứng dụng sẽ quét từng dòng mã để xử lý tránh việc đọc toàn bộ mã và bộ nhớ sẽ gây "treo" máy.
Trong quá trình quét ứng dụng kiểm tra những lỗi sau:
  • Có mở chuỗi nhưng chưa đóng (cả đơn cả kép)
  • Có mở comment nhưng chưa đóng
  • Sử dụng sai ký tự escape \ (escape không đúng ký tự hoặc escape nằm cuối dòng)
  • Ứng dụng sẽ bỏ qua việc kiểm tra hợp lệ cú pháp SELECT, FROM, WHERE của đoạn mã, nghĩa là bạn có thể ghi SELECT SELECT vẫn không sai

Thông báo lỗi
Khi có một lỗi bất kỳ xảy ra, ứng dụng sẽ dừng và xuất thông báo lỗi. Thông báo sẽ đi kèm với số thứ tự dòng phát sinh lỗi, đối với những lỗi quên đóng chuỗi / comment thì dòng phát sinh lỗi là dòng bắt đầu mở chuỗi / comment
Một số thông báo lỗi:
Multiline comment does not close. Comment starts at line: X là chưa đóng comment, comment được mở tại dòng X
Single quote string does not close. String starts at line: X là chưa đóng chuỗi đơn, chuỗi được mở tại dòng X
Double quotes string does not close. String starts at line: X là chưa đóng chuỗi kép, chuỗi được mở tại dòng X
Invalid character \\X là sử dụng ký tự escape sai, ký tự sai là X
Unexpected escape character là ký tự escape \ không đúng quy định do nằm cuối dòng thì phía sau không còn ký tự nào nữa.

Khuyết điểm
  • Hiện tại chỉ đọc theo dòng với những kiểu kết dòng bằng ký tự \r\n(Windows) chưa hỗ trợ kiểu kết dòng bằng ký tự \n (Linux, Unix)
  • Chưa có những tùy chọn nâng cao chỉ định đọc từ dòng N -> M

Các bạn sử dụng và vui lòng góp ý để hoàn thiện ứng dụng.

Không có nhận xét nào:

Đăng nhận xét

Related Posts Plugin for WordPress, Blogger...

Hãy nói không với 4T

Hướng dẫn sử dụng chức năng góp ý
Bạn có thể sử dụng những thẻ <b>, <i>, <a>. Để chú thích đoạn mã bạn có thể sử dụng thẻ [code=type]  [/code], với type là những loại mã sau js, css, html. Chú ý: Khi sử dụng thẻ [code=html] bạn cần theo thế những ký tự < , > thành [] hoặc bạn có thể sử dụng bộ chuyển đổi. Những loại mã khác thì bạn thay thế < , > thành &lt;&gt; hoặc bạn cũng có thể sử dụng bộ chuyển đổi