2009-06-08 4 views
6

Tôi đã đấu tranh một thời gian để có thể sử dụng các hàm dựng sẵn trong Visual Studio 2008 để xử lý các tệp cơ sở dữ liệu *.mdf với SQL Server 2008 Express. Tôi đang chạy trên một hệ thống dựa trên x64, và tôi đã đọc rằng có một known problem với thiết lập này, nhưng hotfix chưa giải quyết được vấn đề của tôi.Lỗi "Không thể giải quyết" trong Visual Studio - làm cách nào để kết nối với SQL Server 2008 Express?

Về cơ bản, những gì xảy ra là khi tôi cố gắng thêm một *.mdf file mới vào thư mục App_Data của một dự án, tôi nhận được một thông báo lỗi nói:

Connections to SQL Server files (*.mdf) require SQL Server Express 2005 to 
function properly. Please verify the installation of the component or download 
from the URL: http://go.microsoft.com/fwlink/?LinkId=49251

của tôi (không thành công) bước để giải quyết việc này:

  1. Gỡ cài đặt tất cả các chương trình có liên quan có thể thành Visual Studio, SQL Server hoặc .NET Framework (bên trái .NET 2.0 Compact Framework và .NET 3.5 Compact Framework và không có gì khác liên quan đến .NET, đã cài đặt).
  2. Khởi động lại.
  3. Cài đặt .NET 3.5 SP1, SQL Server 2008 Express và SQL Server Management Studio 2008 Express qua Trình nền tảng Web 2.0 (Beta).
  4. Khởi động lại.
  5. Cài đặt Visual Studio 2008 Professional từ đĩa.
  6. Khởi động lại.
  7. Cài đặt Gói dịch vụ Visual Studio 2008 1.
  8. Khởi động lại.
  9. Cài đặt hotfix.
  10. Khởi động lại.
  11. Khởi động VS, tạo trang Web mới và thử thêm cơ sở dữ liệu. Vẫn nhận được thông báo lỗi ...

Khi tôi nhìn vào hộp thoại Help/About, hotfix hiển thị trong số các bản cập nhật được áp dụng. Tôi cũng đã kiểm tra và kiểm tra lại rằng tên cá thể SQL Server được đặt chính xác trong Visual Studio (tôi đã sao chép tên dụ từ màn hình đăng nhập trong SSMS).

Tại sao hotfix không giải quyết được sự cố của tôi? Tôi làm những việc sai trật tự, hay tôi có phiên bản phần mềm sai ở đâu đó?

Theo số KB article, vấn đề là Visual Studio không phát hiện chính xác "một số khóa đăng ký" - nhưng không có gì được nói về trong đó phím. Có ai biết cách sửa lỗi này bằng tay không?


Ồ, và có - Tôi đã xem this post. Tôi biết tôi chỉ có thể "hạ cấp" xuống phiên bản x86 của SQL Server, nhưng tôi thực sự muốn làm việc này với phiên bản x64 (nếu không có gì khác, chỉ vì nó là để làm việc ...), do đó giải pháp đó không 't thực sự giải quyết vấn đề của tôi. Xin vui lòng không đóng này như là một bản sao.

+0

serverfault.com ?? –

+0

Tôi cũng sẽ yêu cầu và cập nhật để giải pháp có sẵn ở cả hai nơi. –

+0

không thuộc về serverfault, vì đây là chương trình có liên quan rõ ràng. –

Trả lời

0

Tôi không chắc chắn tôi đã từng giải quyết điều này, nhưng bây giờ tôi đã chuyển sang Visual Studio 2010 (RC vào lúc này, nhưng tôi sẽ nhận được phiên bản đầy đủ khi nó availabel) và mọi thứ hoạt động không có vẻ.

0

Thử thay đổi người dùng mà SQL Server Express đang chạy. Điều này có thể được thay đổi trong Quản lý dịch vụ (nhấn Win + R, nhập services.msc). Chọn SQL Server Express, nhấp chuột phải -> Properties. Tab 'Đăng nhập' và chọn: 'Tài khoản hệ thống cục bộ', đánh dấu vào 'Cho phép dịch vụ tương tác với máy tính để bàn' - đây là những gì đã hiệu quả đối với tôi.

+0

Không. Vẫn nhận được thông báo lỗi ... = ( –

+0

là dịch vụ đang chạy ở tất cả? – argh

+0

bạn có thể kết nối với nó thông qua studio quản lý máy chủ SQL? – argh

2

Tôi đã gặp lỗi này, VS 2008 SP 1 trên Vista Ultimate 64 bit với SQL 2008 Express 64 bit. Đã tải xuống hotfix và khởi động lại, khởi động SQLEXPRESS và vẫn gặp lỗi.

Sau đó, tôi đã thay đổi "SQL Server Instance Name" (trong VS 2008 -> Tools -> Options -> Data Connections), để trống, thành "SQLEXPRESS" (so với ". \ SQLEXPRESS", đó là những gì tôi sử dụng trong màn hình đăng nhập của tôi dưới SSMS.) và bây giờ nó hoạt động như một sự quyến rũ!

  • Dave