2012-09-17 24 views
14

Điều này thật lạ khi tôi có thể kết nối với localDB qua SSMS 2008R2 bằng cùng một chuỗi kết nối ("Data Source=(LocalDB)\v11.0;Integrated Security=true")Không thể kết nối với localDB trong VS2012 - "Đã xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể trong khi thiết lập kết nối với SQL Server ..."

Chỉ C# mã không thể kết nối, tôi đã thử tăng thời gian đăng nhập với Connect Timeout=60 nhưng không may mắn.

Tôi cũng đã thử chỉ định cơ sở dữ liệu Initial Catalog=&lt;databasename&gt; trong đó <databasename> là tài liệu tôi đã tạo trên localdb qua ssms.

Bất kỳ con trỏ nào về lý do tại sao điều này không kết nối?

+0

Đầu tiên kết nối cơ sở dữ liệu của bạn thông qua sever explorer trong VS. Sau khi thành công của kết nối nhấp chuột phải và tìm thấy tài sản. Ở đó bạn sẽ nhận được chuỗi kết nối. Chỉ cần sao chép và dán vào web.config. –

+0

@Kundan Tôi đã làm điều đó nhưng nó đã ném cùng một lỗi. Đã kết nối thành công trình khám phá máy chủ, sau đó tôi đã sao chép chuỗi kết nối từ các thuộc tính như đã đề cập, nhưng ứng dụng của tôi vẫn không thể kết nối bằng cùng một chuỗi. –

+0

Bạn có thể dán chuỗi kết nối không? –

Trả lời

33

Bất kỳ cơ hội nào là vì bạn đã quên thoát khỏi dấu gạch chéo ngược? Bạn đã thử điều này:

"Data Source=(LocalDB)\\v11.0;Integrated Security=true"

Hoặc thậm chí tốt hơn, bạn chỉ có thể sử dụng nhãn hiệu @ để vô hiệu hóa nhân vật thoát cho toàn bộ chuỗi kết nối:

@"Data Source=(LocalDB)\v11.0;Integrated Security=true"

+0

Ah, đây thực sự là một mẹo. Tại sao nó yêu cầu double \\? thực sự lạ .. Cảm ơn! nó đã làm việc. –

+1

có vẻ như \ v là một nhân vật đặc biệt! –

+5

Chính xác! Nếu không có sự thoát kép, '\ v' được coi là một ký tự đơn (và đặc biệt). Bạn cũng có thể sử dụng '@' (trong C#) để tránh thoát khỏi bất cứ điều gì, tôi đã cập nhật câu trả lời của tôi để phản ánh nó. –

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