Tôi đang sử dụng Entity Framework 4 cho một ứng dụng đơn giản và muốn nướng thông tin kết nối của tôi vào chuỗi kết nối sau:Cách bao gồm ký hiệu và chuỗi kết nối?
<connectionStrings>
<add name="MyEntities"
connectionString="metadata=res://*/MyDataModel.csdl|res://*/MyDataModel.ssdl|res://*/MyDataModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=localhost\DEV;Initial Catalog=MyDB;UserId=myUser;Password=jack&jill;MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
</connectionStrings>
Tuy nhiên, mật khẩu (mà tôi không thể thay đổi) chứa một dấu. ASP.NET ném: Configuration Error: An error occurred while parsing EntityName. Line XX, position YYY.
Nếu tôi thay thế các dấu trong mật khẩu với &
, tôi nhận được một SqlException: Login failed for user 'myUser'.
Thông thường thủ thuật này tác phẩm, nhưng tôi đoán rằng một cái gì đó là không bởi vì đây là về mặt kỹ thuật một chuỗi kết nối bên trong một kết nối chuỗi.
Tôi nên làm gì ở đây? Hầu hết các lớp học của tôi bao gồm mã như:
using (var context = new MyEntities()) {
// do work
}
Cập nhật: Nó chỉ ra rằng các thông tin tôi đang sử dụng là một tài khoản miền, vì vậy những gì tôi thực sự cần là Integrated Security=True
trong chuỗi kết nối chứ không phải là một mật khẩu.
Mã hóa ký hiệu và được chỉ ra trong câu trả lời được chấp nhận nên hoạt động tốt, mặc dù tôi chưa thử nghiệm.
Tôi đã thử điều đó, như đã nêu trong câu hỏi của mình. Dường như mật khẩu sai được gửi cùng với Entity Framework. – user403830
Đó thực sự là tất cả những gì bạn cần để làm cho nó hoạt động. – hunter
Ngoài ra, làm cho bạn đã thử đăng nhập vào trường hợp SQL Server bằng cách sử dụng thông tin đăng nhập trong chuỗi kết nối của bạn bên ngoài ứng dụng của bạn – hunter