2012-02-02 83 views
6

Tôi đã thử mọi thứ nhưng tôi không thể truy cập/thay đổi/sửa đổi cơ sở dữ liệu của mình. Tôi đã tạo nó trong studio trực quan với .mdf. Tôi mới sử dụng cơ sở dữ liệu SQL vì vậy tôi sẽ rất vui nếu bạn có thể giúp tôi. Như tôi đã nói, tôi đã tạo cơ sở dữ liệu đó, trong phòng thu trực quan nhưng tôi không thể tạo kết nối với cơ sở dữ liệu đó.Không thể kết nối với cơ sở dữ liệu .mdf

Trong web config:

<connectionStrings> 
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

Trong cs tôi sử dụng mà chuỗi kết nối sql:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;"); 

Và tôi có lỗi này:

Một cố gắng để đính kèm một tính năng tự động đặt tên cơ sở dữ liệu cho tệp C: \ Users \ mcan \ Documents \ Visual Studio 2010 \ WebSites \ WebSite1 \ App_Data \ Database.mdf không thành công. Một cơ sở dữ liệu có cùng tên tồn tại hoặc không thể mở tệp được chỉ định hoặc nó nằm trên chia sẻ UNC.


Tôi đã thực hiện một số thay đổi:

Trong web config:

<connectionStrings> 
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;" 
    providerName="System.Data.SqlClient" /> 

và cs:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;"); 

Bây giờ nó mang lại lỗi mà :

*Server Error in '/WebSite1' Application. Cannot open database |DataDirectory|Database.mdf" requested by the login. The login failed. Login failed for user 'mcan-PC\mcan'. * 
+0

Bạn đã đọc tin nhắn chưa? – SLaks

+0

@SLaks - Bạn có? Có 3 khả năng được đề cập trong tin nhắn. Câu trả lời của bạn giả định một câu trả lời. –

+0

@MartinSmith: Đó không phải là chia sẻ của UNC, và anh ấy nói rằng anh ấy đã tạo tệp. – SLaks

Trả lời

2

Khi lỗi nêu rõ, cơ sở dữ liệu đó đã được kết nối với SQL Server.
Bạn không thể có hai cơ sở dữ liệu có cùng tên trên cùng một máy chủ.

+0

tôi chỉ cố gắng truy cập cơ sở dữ liệu đó từ một nơi, tại sao có một kết nối khác? tôi không thể truy cập và sửa đổi nó, tôi nên làm gì sau đó? –

+0

Cơ sở dữ liệu đã có trong SQL Server. Bạn nên loại bỏ nó khỏi máy chủ SQL hoặc kết nối với nó bằng tên thay vì cố gắng đính kèm lại nó. – SLaks

+0

bạn có thể giải thích cách kết nối với nó theo tên không? –

1

Sự cố có thể là tệp mdf của bạn không có quyền được đặt cho Người dùng được xác thực. Điều hướng đến tệp .mdf của bạn, nhấp chuột phải và chuyển đến Thuộc tính rồi đến tab Bảo mật. Kiểm tra xem Người dùng được xác thực có xuất hiện trong 'Nhóm hoặc tên người dùng' hay không. Nếu không, bạn sẽ phải nhấp vào Chỉnh sửa, sau đó Thêm và nhập Người dùng đã xác thực. Sau đó, bạn sẽ nhấn Kiểm tra tên và OK. Sau đó cho phép kiểm soát hoàn toàn cho Người dùng được xác thực. Bạn sẽ phải lặp lại điều này cho tệp .ldf.

+0

tôi đã chọn và Người dùng được xác thực sẽ xuất hiện trong 'Nhóm hoặc tên người dùng'. –

+0

Khi bạn chọn Người dùng được xác thực và xem trong danh sách Quyền, có được Kiểm soát toàn bộ trong cột Cho phép không? – huel

+0

Có, có hệ thống, mcan-PC \ mcan và mcan-PC \ Quản trị viên, chủ sở hữu là mcan-PC \ mcan, và tất cả đều có Kiểm soát toàn bộ được kiểm tra trong cột Cho phép –

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