2009-03-26 60 views
5

Bạn sử dụng ứng dụng hoặc công cụ nào để nhập dữ liệu vào cơ sở dữ liệu của mình? Tôi đang cố gắng để cải thiện hệ thống hiện tại (cồng kềnh) của chúng tôi sử dụng một hệ thống dựa trên web php để nhập dữ liệu một ... mục ... tại ... một ... thời gian.Bạn sử dụng ứng dụng nào để nhập và truy xuất dữ liệu qua ODBC?

Giải pháp hiện tại của tôi là sử dụng bảng tính. Nó hoạt động tốt với văn bản và số có thể đọc được, nhưng không phải với các khóa ngoài được sử dụng để kết hợp với các hàng của bảng khác.

Hãy tưởng tượng rằng tôi muốn có một hàng dữ liệu để bao gồm thành phố nào đó đang sống. Cột giữ này là id_city, cột này được gán cho bảng "thành phố" có hai cột: id (nối tiếp) và tên (văn bản) .

Tôi hình dung khả năng mở rộng khả năng bảng tính để bao gồm menu thả xuống cho mỗi hàng của cột id_city cho phép người dùng chọn thành phố nào (hiển thị văn bản của tên thành phố), nhưng thực sự lưu trữ id thành phố được chọn . Bằng cách này, bảng tính sẽ:
(1) hiển thị rất nhiều dữ liệu trên mỗi màn hình và
(2) có thể được xuất dưới dạng tệp csv và được gửi tới tập lệnh hiện tại của chúng tôi chèn hàng vào cơ sở dữ liệu theo cách thủ công.

Tôi đã chơi xung quanh với MS Excel và Access, cũng như bộ phần mềm của OpenOffice, nhưng chưa tìm thấy một cái gì đó mang lại cho tôi chức năng tôi đề cập ở trên.

Các mục khác trong danh sách mong muốn của tôi:
(1) tìm nạp động tên thành phố có thể được người dùng chọn.
(2) cho phép người dùng đẩy trực tiếp dữ liệu vào phần phụ trợ (không phải qua tệp/tập lệnh bên ngoài). dữ liệu trên màn hình để phản ánh bất kỳ thay đổi nào gần đây

Bạn có biết cách tôi có thể cải thiện quy trình nhập dữ liệu không? Bạn sử dụng công cụ gì? Tôi sử dụng PostgreSQL cho chương trình phụ trợ và có quyền truy cập vào MS Office, OpenOffice. Tôi thích một giải pháp linh hoạt, mạnh mẽ và không cần nhiều thời gian để phát triển hoặc triển khai (tôi biết, mơ ước ...)

Tôi biết rằng pgAdmin3 có chức năng tương tự, nhưng từ những gì tôi đã thấy , nó là một công cụ quản trị hơn là một cái gì đó cho người dùng sử dụng.

+0

Đây có phải là chức năng công việc dài hạn hay chỉ là hoạt động một lần? –

Trả lời

5

Như j_random_hacker đã lưu ý, tôi đã sử dụng MS Access trong nhiều năm (kể từ khi truy cập 97) để kết nối với nguồn dữ liệu ODBC.

Bạn có thể làm điều này thông qua liên kết với bảng bên ngoài: (trong Access 2010 :)

New -> Blank Database 
External Data -> ODBC Database -> Link to Data Source 
Machine Data Source -> New -> System Data Source -> Select Driver (Oracle, or whatever) -> Finish 
Enter a new name for your DSN, the all of the connection parameters, then click OK 
Select newly created DSN, hit ok. 

Bạn có thể làm như vậy nhiều lần truy cập thấy bảng bên ngoài của bạn như một bảng liên kết, bao gồm phân loại, lọc vv Có một báo trước: theo như tôi có thể nói, TẤT CẢ các hoạt động xảy ra ở phía máy khách trừ khi bạn đang sử dụng truy vấn chuyển tiếp. Đó là tốt nếu bạn đang nhìn vào một bảng với 3000 hồ sơ. Với 2.000.000 hồ sơ, điều đó rất đau. Để được rõ ràng, tất cả dữ liệu trong bảng đi xuống đến máy trạm, cho tất cả các bảng được nối, và kết nối xảy ra phía máy khách, KHÔNG phải phía máy chủ.

2

Thường có các công cụ độc lập để quản lý cơ sở dữ liệu cơ bản - ví dụ, đối với Oracle và MySQL, một công cụ miễn phí được gọi là SQL Developer đủ để nhập dữ liệu cơ sở dữ liệu cơ bản.

Đối với các loại phức tạp hơn (đặc biệt là liên quan đến clobs), tôi thường có thể gõ ứng dụng cùng nhau trong Java + SWT trong một ngày nếu chúng tôi đã có mô hình và DAO sẵn có ở phía Java. Vâng, bạn phải bỏ một số nỗ lực vào, nhưng nếu nó sẽ được sử dụng thường xuyên trong tương lai thì có lẽ nó đáng giá.

Trong trường hợp của bạn (tốt, trường hợp bạn có nhập dữ liệu hàng loạt) gõ lên một số Perl đọc từ CSV và tra cứu id thành phố sẽ không đáng kể để triển khai. Có lẽ một sự lãng phí cho một điều một lần? Phụ thuộc vào lượng dữ liệu cần nhập.

+0

Mọi thứ hiện được cắm vào một bảng tính, đưa vào một hình dạng có thể được khối lượng COPY'd (pgsql cụ thể) vào phần phụ trợ từ tệp csv. Đó là rất nhiều công việc, có rất nhiều lỗi của con người, và cần phải được cải thiện. Cảm ơn những ý tưởng/đề xuất về cải tiến. –

+0

Ah, vì vậy có thể ở đây bạn sẽ muốn ít nhất có một số mã xác minh rằng nội dung bảng tính hợp lệ trước COPY. Lỗi của con người sẽ xảy ra cho dù trong Excel hoặc ứng dụng của riêng bạn, mặc dù bạn có thể viết xác nhận cụ thể mạnh mẽ hơn trong hệ thống của riêng bạn. Chúc may mắn. – JeeBee

2

Tôi sẽ ngạc nhiên nếu MS Access không thể thực hiện những gì bạn đang tìm kiếm - đây chính là trường hợp sử dụng chính xác cho nó. Cụ thể, nhanh chóng ném cùng một giao diện người dùng tốt đẹp cho một ứng dụng CRUD DB đơn giản mà một bảng tính không hoàn toàn kéo dài đến.

+0

Cảm ơn, tôi sẽ xem xét điều này. –

1

Đây là một câu trả lời, về mặt kỹ thuật, nhưng không phải là một đề nghị:

Tôi đã sử dụng Excel và SSIS trích xuất dữ liệu nhập dữ liệu đơn giản vào MS SQL, nhưng nó không đủ - có rất ít khả năng để kiểm soát dữ liệu và SSIS rất nhạy cảm, đặc biệt khi làm việc với Excel.

-1

Truy cập MS không hoạt động tốt với một số cơ sở dữ liệu không phải của Microsoft. Có một mã nguồn mở tương đương được gọi là Apache OpenOffice Base mà bạn có thể muốn thử.

Các vấn đề liên quan