Lưu trữ

Posts Tagged ‘insertion query’

DXNTool – SourceCode Generator, and more..

Insertion Script

Khi lập trình các ứng dụng cơ sở dữ liệu, nhiều lúc chúng ta cần những tiện ích đơn giản dùng để sinh (generate) ra các mã trình một cách tự động từ cấu trúc cho trước. Đối với một bảng dữ liệu trong một hệ quản trị CSDL nào đó, có thể bạn đã và sẽ cần một tiện ích có các tính năng sau:

(1)    Generate câu lệnh tạo bảng;

(2)    Generate chuỗi insert dữ liệu của bảng đó;

(3)    Generate tài liệu về bảng (database table documentation) để lưu trữ;

(4)    Kết xuất (export) dữ liệu bảng ra file excel;

(5)    Generate Business Object class tương ứng theo cấu trúc bảng để thuận tiện cho việc viết mã trong các ứng dụng;

Các tính năng này, hoặc đã có sẵn trong các công cụ quản trị CSDL (chẳng hạn, SQL Server Management Studio), hoặc có thể có rải rác trong các tiện ích miễn phí và trả tiền (chẳng hạn, Tier Dev), hoặc có những hướng dẫn viết code để tự làm ra chúng trên các website về lập trình. Có thể kể ra một vài đường link sau:

http://www.codeproject.com/Articles/19719/Generate-Insertion-Scripts-Using-NET-2-0

http://www.codeproject.com/KB/codegen/TierGenerator.aspx

http://smartcodegenerator.codeplex.com/

Sau nhiều lần thử cài đặt các công cụ và tải các mã nguồn kèm hướng dẫn về chạy thử, tôi thấy chưa thật sự thỏa mãn. Do công cụ quá cồng kềnh cho một tính năng nhỏ, do công cụ quá cứng ngắc đầu ra (thay đổi phải sửa hardcode), do công cụ tốt thì phải trả tiền mà cũng không đủ các tính năng mình mong muốn,… tôi đã tự viết công cụ với các tính năng cho riêng mình.

Công cụ với mục tiêu là các tính năng nêu trên tôi đang viết vào những lúc rảnh và cũng không thật rốt ráo (cần đến đâu viết đến đó), và vẫn bổ sung dần dần các tính năng khác như generate toàn bộ một project mẫu với chức năng CRUD đầy đủ, đầu ra tùy biến theo template chỉnh sửa được. Chắc chắn rằng nhiều người đã tự làm cho mình các công cụ như vậy (chẳng hạn đồng nghiệp và bạn bè mà tôi biết) vì mỗi người mong muốn các tính năng khác nhau cho riêng mình.

Tôi xin được chia sẻ công cụ này (vẫn còn vài bug exception) cho bạn nào chưa tìm được công cụ nhỏ gọn, portable của riêng mình có thể tham khảo sử dụng, với các tính năng (1)-(4) và các ưu điểm:

–          Làm việc trên 3 Hệ quản trị CSDL thường gặp là MS SQL Server, Oracle, MySQL (có thể bổ sung các loại khác),

–          Có thể tùy biến template (file XSLT) để thay đổi output như mong muốn (hiện áp dụng cho tính năng (3)). Về nguyên tắc, có thể generate ra mã nguồn của một ngôn ngữ tùy ý,

–          Rất nhỏ gọn,

–          Portable (không cần cài đặt).

Bạn nào quan tâm, cần bổ sung các tiện ích khác có thể trao đổi thêm để hoàn thiện.

Download Here

Generate table documentation

Hình: Generate table documentation (có thể save as thành file .htm)