2013-06-06 38 views
18

Cho đến hôm nay, tôi đã có thể sử dụng tính năng So sánh lược đồ trong Visual Studio 2012 để cập nhật cơ sở dữ liệu từ một dự án cơ sở dữ liệu. Nhưng bây giờ, đối với một dự án tôi có thể làm so sánh, nhưng nút cập nhật được chuyển sang màu xám.Không thể cập nhật với lược đồ so sánh

Tôi có thể sử dụng các dự án khác để cập nhật cơ sở dữ liệu khác, nhưng từ dự án này tôi không thể cập nhật bất kỳ cơ sở dữ liệu nào. Tôi không nhận được bất kỳ lỗi nào, chức năng này không khả dụng.

Sử dụng xuất bản vẫn hoạt động. Cũng cập nhật các dự án từ các công trình cơ sở dữ liệu, không phải là cách khác xung quanh.

Có ai biết tại sao tôi không thể cập nhật cơ sở dữ liệu thông qua So sánh giản đồ không?

+1

Bản sao có thể có của [Nút mục tiêu cập nhật bị tắt sau khi so sánh lược đồ] (http://stackoverflow.com/questions/17742638/update-target-button-is-disabled-after-schema-comparison) –

+0

Đây là câu trả lời cho tôi: http://stackoverflow.com/a/32912849/441862 –

Trả lời

32

Kiểm tra cuối màn hình sau khi so sánh nó hiển thị thông báo trạng thái ở đó. Tôi đã thấy vấn đề này nếu có lỗi biên dịch trong dự án cơ sở dữ liệu. Khi lỗi được giải quyết gần và mở lại hộp thoại so sánh. Chạy lại so sánh của bạn và nút Cập nhật sẽ khả dụng trở lại.

+2

Điều này rất có thể xảy ra nếu nút "cập nhật" không khả dụng. Tôi đã giải quyết lỗi và nút lại xuất hiện. Cảm ơn! – maulik13

+1

Bạn sir xứng đáng một cookie. Điều này không phải lúc nào cũng hiển thị (vì đôi khi cửa sổ Danh sách Lỗi bị ẩn bởi một cửa sổ/tab khác), bạn chỉ cần tiếp tục và kiểm tra nó. Tôi muốn VS cảnh báo người dùng về điều này, mặc dù ... – tfrascaroli

1

Tự mình gặp phải vấn đề tương tự. Như đã đề cập ở trên, danh sách lỗi Visual Studio bình thường sẽ liệt kê các lỗi chặn cập nhật ... nhưng hơn nữa, cũng sẽ có cảnh báo. Một trong các tùy chọn được bật theo mặc định là mất dữ liệu cập nhật. Đó chính là vấn đề. Mặc dù nó chỉ là một điều kiện cảnh báo, bất kỳ mất mát dữ liệu có thể có chức năng là một lỗi trừ khi bạn thay đổi cờ này.

Imho, đây là lỗi giao diện người dùng khá nghiêm trọng đối với phần của MS, nhưng bạn sẽ làm gì?

0

Bạn cần đảm bảo rằng tất cả biến SQLCMD của bạn đều có giá trị mặc định.

Nhấp chuột phải vào dự án trong Solution Explorer và chọn Thuộc tính.

Trên tab ở bên trái, chuyển đến Biến SQLCMD và nhập (các) giá trị mặc định vào cột được cung cấp.

Sau khi chạy lược đồ của bạn so sánh thời gian khác, nút cập nhật sẽ khả dụng.

1

Điều gì đã hiệu quả đối với tôi là bao gồm lược đồ. Tôi đã chọn chỉ bao gồm các bảng/procs nhất định, v.v. Nếu lược đồ chứa các bảng và thủ tục cũng không được đánh dấu, việc nhập không bao gồm các phần tử.

+0

Bao gồm lược đồ ở đâu? – Suncat2000

6

Bạn phải kiểm tra người dùng cơ sở dữ liệu và lược đồ cơ sở dữ liệu. Thông thường, nếu người dùng cơ sở dữ liệu không được sao chép chính xác trong DB Project, So sánh giản đồ không hoạt động.

+0

Cảm ơn. Điều này làm việc cho tôi. – adam0101

+0

Cụ thể, điều này có thể xảy ra ngay cả khi dự án cơ sở dữ liệu được nhập mới từ cơ sở dữ liệu. Ngoài ra, trong trường hợp của tôi tôi có thể nhấn cập nhật, nó sẽ không làm bất cứ điều gì. Hành vi là như nhau trong VS 2015 và 2017. – John

4

Đối với tôi, ngăn danh sách lỗi và ngăn đầu ra không hiển thị bất kỳ thứ gì trong Visual Studio 2015. Chỉ sau khi xây dựng dự án cơ sở dữ liệu mà tôi đang nhắm mục tiêu, tôi có thể thấy các lỗi trong ngăn đầu ra (nhưng vẫn không có ngăn danh sách lỗi). Sau khi sửa các lỗi này, nút Cập nhật không còn bị mờ đi nữa.

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