Trong vài ngày qua tôi cuối cùng đã nghiên cứu cách kết nối ứng dụng C# của mình (Tôi đang sử dụng Visual Studio 2010 Express) cho SQL Server 2008 R2 của mình cơ sở dữ liệu bằng cách sử dụng Entity Framework và tôi hoàn toàn bị mắc kẹt.Visual C# và SQL Server không hoạt động chính xác cùng nhau // tệp đã được sử dụng
Khi tôi muốn thêm một DataSource mới trong VS Tôi chỉ tìm ra con đường của file db của tôi và khi tôi cuối cùng đã tìm thấy nó và cố gắng chọn nó, nó ném cho tôi một lỗi cho thấy
Tập tin này đã được sử dụng. Nhập tên mới hoặc đóng tệp đó, ứng dụng khác được sử dụng
Điều đó nghe có vẻ vô lý vì tôi không sử dụng tệp cơ sở dữ liệu của tôi trong hai ngày. Vì vậy, sau một chút googling cuối cùng tôi đã tìm thấy một giải pháp và tôi đã nhập vào SQL Server Configuration Manager và khởi động lại máy chủ SQL duy nhất của tôi.
Sau đó kết nối DataSource của tôi cuối cùng làm việc và tôi đã nghĩ rằng bây giờ tôi cạnh tranh nhất và tôi sẽ viết mã của tôi cho đến cuối ngày nhưng sau một vài phút, tôi có một vấn đề khác: O (lý do tôi viết ở đây).
Khi tôi sử dụng mọi phần một phần của SQL Server trong ứng dụng VS của mình thì SQL Server của tôi ngừng hoạt động. Tôi không thể duyệt cơ sở dữ liệu ở đó, tôi không thể thay đổi bất cứ điều gì, tôi không thể sử dụng truy vấn, chỉ là không có gì. Nó chỉ cho tôi biết rằng cơ sở dữ liệu này đã được sử dụng.
Cũng giống như vậy khi tôi làm điều đó theo cách ngược lại.
Tôi khởi động lại SQL Server thông qua Trình quản lý cấu hình SQL Server (để có thể sử dụng lại SQL Server) và sau đó tôi sử dụng tác vụ truy vấn DB SELECT * FROM nameDatabase
.
Sau đó, tôi đã cố gắng để gỡ lỗi ứng dụng C# của tôi, nơi tôi có một combobox mà SQL Server đã điền vào một số tên và tôi nhận được lỗi mà SQL Server không thể truy cập. (Tôi không thể cho bạn biết chính xác lỗi ngay bây giờ nhưng sau khi googling tôi thấy rằng nó có nghĩa là SQL Server là không thể truy cập).
Nếu bất cứ ai muốn nhìn thấy mã mà sau đó nó là:
using (var entities = new PropertyDatabaseEntities())
{
var userNames = entities.Login
.Select(login => login.Username)
.ToArray();
comboboxLogin.Items.Clear();
comboboxLogin.Items.AddRange(userNames);
}
Nhưng khi tôi khởi động lại SQL Server và biến debug này trước khi tôi sử dụng bất cứ điều gì từ SQL Server nó hoạt động.
Một số người đã nói với tôi rằng tôi không đóng kết nối nhưng điều đó không thể đúng bởi vì ngay cả khi tôi sử dụng SQL Server đầu tiên thì tôi vẫn không thể sử dụng kết nối giữa VS và SQL Server.
Tôi thực sự bị kẹt.
* Connection String
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<connectionStrings><add name="Final.Properties.Settings.PropertyDatabaseConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\PropertyDatabase.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" /><add name="LoginEntities" connectionString="metadata=res://*/DataAccess.LoginModel.csdl|res://*/DataAccess.LoginModel.ssdl|res://*/DataAccess.LoginModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\Login.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True'" providerName="System.Data.EntityClient" /><add name="PropertyEntities" connectionString="metadata=res://*/DataAccess.PropertyModel.csdl|res://*/DataAccess.PropertyModel.ssdl|res://*/DataAccess.PropertyModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\Property.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True'" providerName="System.Data.EntityClient" /><add name="PropertyDatabaseEntities" connectionString="metadata=res://*/DataAccess.PropertyDatabaseModel.csdl|res://*/DataAccess.PropertyDatabaseModel.ssdl|res://*/DataAccess.PropertyDatabaseModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\PropertyDatabase.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True'" providerName="System.Data.EntityClient" /></connectionStrings>
</configuration>
Cách bạn đã mã hóa câu lệnh USING có nghĩa là kết nối sẽ được quản lý đúng và đóng. –
Bạn có thể đăng chuỗi kết nối của mình không? –
_ "Tập tin này đã được sử dụng. Nhập tên mới hoặc đóng tập tin đó, được sử dụng bởi ứng dụng khác." _ Không phải là lỗi đã biết. Sai số chính xác và những gì xảy ra? – CodeCaster