6

Tìm cách để lập trình, hoặc nói cách khác, thêm phiên bản SQL 2005 Express Edition mới vào hệ thống đã cài đặt phiên bản. Theo truyền thống, bạn chạy trình cài đặt của Micrsoft như tôi đang ở trong dòng lệnh bên dưới và nó thực hiện thủ thuật. Thực hiện lệnh trong trình cài đặt của tôi không phải là vấn đề, nó là nhiều hơn một vấn đề kéo xung quanh 40 MBs của MS-SQL cài đặt mà tôi không cần nếu họ có SQL Express đã được cài đặt. Đây là những gì trình cài đặt của tôi hiện đang thực thi:SQL 2005 Express Edition - Cài đặt phiên bản mới

SQLEXPR32.EXE /qb ADDLOCAL=ALL INSTANCENAME=<instancename> SECURITYMODE=SQL SAPWD=<password> SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0 

Tôi không cần trợ giúp khi khởi chạy lệnh này, thay vì cách thực hiện một cách hoàn chỉnh mới.

Tôi sẽ đi vào chi tiết tuyệt vời về lý do tại sao tôi muốn làm điều này nhưng tôi chỉ đơn giản là mang tất cả mọi người. Đủ để nói, có khả năng này để tạo ra một trường hợp mới mà không cần thời gian để cài đặt lại SQL Express vv sẽ giúp tôi rất nhiều cho việc triển khai ứng dụng của tôi và nó là trình cài đặt. Nếu tạo sự khác biệt cho bất kỳ ai, tôi đang sử dụng kết hợp NSIS và Trình cài đặt nâng cao cho dự án cài đặt này.

Trả lời

0

Sau nhiều tháng/năm xem xét điều này, có vẻ như không thể thực hiện được. Oh well, tôi đoán tôi chỉ cài đặt lại mỗi khi tôi muốn một trường hợp mới. Tôi đoán đó là bởi vì mỗi trường hợp là dịch vụ riêng của nó.

0

Tôi không biết làm thế nào để làm điều đó với một API, nhưng nếu không có ai đưa ra một giải pháp tốt hơn, bạn luôn có thể sử dụng Process.Start() để thực thi dòng lệnh của bạn.

1

Có vẻ như một phiên bản người dùng có thể giúp bạn. Nếu bạn có tệp MDF và LDF, bạn có thể kết nối với tệp bằng cách hướng dẫn SQL Server Express khởi chạy một cá thể người dùng và đính kèm tệp được chỉ định vào cá thể đó.

Tài liệu này http://msdn.microsoft.com/en-us/library/bb264564.aspx có mô tả tốt về cách bạn có thể dựa vào cài đặt SQL Server Express hiện có để khởi tạo một cá thể người dùng cụ thể trong thời gian kết nối của bạn.

Hy vọng điều đó sẽ hữu ích.