2012-05-07 97 views
115

Tôi đã tạo cơ sở dữ liệu với SQL Server Management Studio, tôi muốn sử dụng nó trong ứng dụng C# của tôi. Tôi cần chuỗi kết nối?Cách lấy chuỗi kết nối từ cơ sở dữ liệu

Tôi có thể tìm chuỗi kết nối ở đâu và cơ sở dữ liệu của tôi được lưu trữ ở đâu?

Tôi có phải xuất bản nó hoặc một cái gì đó như thế, hoặc là nó trong tài liệu của tôi ở đâu đó?

using (var conn = new SqlConnection("your connection string to the database")) 

Làm cách nào để nhận được chuỗi kết nối ? Tôi có thể tìm chuỗi kết nối để sao chép dán vào phần ở trên?

Làm cách nào để xuất bản cơ sở dữ liệu của tôi để Visual Studio có thể chọn nó? Sau đó, tôi chỉ có thể kéo chuỗi kết nối ở đó?

Trả lời

129

Cách dễ nhất để nhận chuỗi kết nối là sử dụng cửa sổ "Máy chủ Explorer" trong Visual Studio (menu Xem, Máy chủ Explorer) và kết nối với máy chủ từ cửa sổ đó.

Sau đó, bạn có thể thấy chuỗi kết nối trong thuộc tính của máy chủ được kết nối (chọn kết nối và nhấn F4 hoặc Alt + Enter hoặc chọn Thuộc tính trên menu nhấp chuột phải).

Cài đặt chuỗi kết nối nâng cao: khi tạo kết nối, bạn có thể sửa đổi bất kỳ tùy chọn chuỗi kết nối nâng cao nào, như MARS, resiliency, timeot, pooling configuration… bằng cách nhấp vào nút "Advanced ..." ở cuối hộp thoại "Thêm kết nối". Bạn có thể truy cập hộp thoại này sau bằng cách nhấp chuột phải vào Kết nối Dữ liệu và chọn "Sửa đổi kết nối ...". Các tùy chọn nâng cao có sẵn thay đổi theo loại máy chủ. Nếu bạn tạo cơ sở dữ liệu bằng SQL Server Management Studio, cơ sở dữ liệu sẽ được tạo trong một cá thể máy chủ, để triển khai ứng dụng của bạn, bạn sẽ phải sao lưu cơ sở dữ liệu và triển khai nó trong SQL triển khai. Máy chủ. Ngoài ra, bạn có thể sử dụng tệp dữ liệu bằng cách sử dụng SQL Server Express (localDB trong SQL Server 2012), sẽ dễ dàng được phân phối với ứng dụng của bạn.

I.e. nếu đó là một ứng dụng ASP.NET, có một App_Datafolder. Nếu bạn kích chuột phải vào nó, bạn có thể thêm một phần tử mới, có thể là một cơ sở dữ liệu SQL Server. Tệp này sẽ nằm trong thư mục đó, sẽ làm việc với SQL Express và sẽ dễ triển khai. Bạn cần cài đặt SQL Express/localDB trên máy của mình để máy tính này hoạt động.

+2

Tôi hiểu theo cách này và thích: D nhưng bạn có thể giải thích thêm về cách tạo bản sao lưu và sau đó triển khai không? kiến thức của tôi về MS SQL Server là xấu, tôi bắt đầu sử dụng nó khoảng một giờ trước đây: \ – Pomster

+1

Dịch vụ cửa sổ của nó – Pomster

+0

Có máy chủ realsql không? bạn sẽ sử dụng máy chủ sql express? là nó đủ với SQL Server Compact Edition? Chúng tôi không thể có được những gì bạn có thể sử dụng nếu bạn không cung cấp thêm thông tin – JotaBe

1

Các sql server database will be stored bởi mặc định trong các đường dẫn sau

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\ 

, nơi <drive> là ổ đĩa cài đặt và X là số ví dụ (MSSQL.1 cho trường hợp đầu tiên của Công cụ Cơ sở dữ liệu). Inorder để cung cấp chuỗi kết nối bạn nên biết tên máy chủ của cơ sở dữ liệu máy chủ sql là gì, nơi bạn đã lưu trữ theo sau là cá thể của máy chủ cơ sở dữ liệu.

Nói chung tên máy chủ sẽ như thế nào địa chỉ IP của máy mà cơ sở dữ liệu được gắn và các trường hợp mặc định sẽ SQLEXPRESS

Một connection string chứa Data Source tên ví dụ, tên máy chủ, Initial danh mục tức là, tên cơ sở dữ liệu, id người dùng tức là, id người dùng đăng nhập của cơ sở dữ liệu, mật khẩu tức là, mật khẩu đăng nhập của cơ sở dữ liệu.

+1

Làm thế nào để tôi có được chuỗi kết nối? – Pomster

+1

Tôi đã xem trong Program files \ Microsoft SQl Server và tôi không biết mình đang tìm gì? – Pomster

+0

bạn không cần phải tìm thư mục lưu trữ cơ sở dữ liệu, xem liên kết tôi đã đưa ra cho chuỗi kết nối và viết chuỗi kết nối của bạn. –

13

Trên connectionstrings.com bạn có thể tìm thấy chuỗi kết nối cho mọi nhà cung cấp DB. Một chuỗi kết nối được xây dựng với các thuộc tính/thuộc tính nhất định và các giá trị của chúng. Đối với SQL server 2008, nó trông như thế này (tiêu chuẩn, đó là những gì bạn cần ở đây):.

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

trên myServerAddress, hãy viết tên của dụ cài đặt của bạn (theo mặc định nó .\SQLEXPRESS Danh mục ban đầu = cơ sở dữ liệu của bạn tên, bạn sẽ thấy nó trong SSMS bên trái sau khi kết nối. phần còn lại nói cho chính nó.

chỉnh sửa

bạn sẽ cần phải bỏ qua tên truy cập và mật khẩu cho các cửa sổ xác thực.

76

Một cách rất đơn giản để truy xuất chuỗi kết nối là tạo tệp văn bản, thay đổi tiện ích mở rộng từ .txt thành .udl.

Nhấp đúp vào tệp .udl sẽ mở thuật sĩ Thuộc tính liên kết dữ liệu.

Định cấu hình và kiểm tra kết nối với máy chủ cơ sở dữ liệu của bạn.

Đóng trình hướng dẫn và mở tệp .udl bằng trình chỉnh sửa văn bản bạn chọn và chỉ cần sao chép chuỗi kết nối (không có phần Provider=<driver>) để sử dụng trong ứng dụng C# của bạn.

mẫu UDL nội dung tập tin

[oledb] 
; Everything after this line is an OLE DB initstring 
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN="" 

những gì bạn cần phải sao chép từ nó

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME; 

Nếu bạn muốn xác định tên truy cập và mật khẩu mà bạn có thể áp dụng từ câu trả lời khác.

Hướng dẫn: https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/

+3

Cách tiếp cận tuyệt vời! – xacinay

+0

Nếu điều này không hoạt động, có một số tệp reg sẽ thực hiện các thay đổi trong đăng ký để bật/tắt tiện ích mở rộng UDL. Tôi thường tìm thư mục Windows cho * .reg. – AMissico

3

đặt bên dưới thẻ trong file web.config trong nút cấu hình

<connectionStrings> 
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd" 
    providerName="System.Data.SqlClient" /> 

sau đó bạn có thể sử dụng trên connectionstring, ví dụ

SqlConnection con = new SqlConnection(); 
      con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString(); 
0

Nếu bạn tạo Trình quản lý kết nối trong dự án thì bạn có thể chỉ cần kéo chuỗi kết nối từ đó.

String connection = this.dts.connections["<connection_manager_name>"]; 

Và sử dụng kết nối này trong:

using (var conn = new SqlConnection(connection)) 

Xin vui lòng sửa tôi nếu tôi sai.

-2
SqlConnection con = new SqlConnection(); 
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True"; 
+0

Cách này trả lời câu hỏi OP? – Filburt

7

Giải pháp của tôi là sử dụng (2010).

Trong một bảng mới, chọn một ô, sau đó:

Data -> From Other Sources -> From SQL Server 

đặt trong tên máy chủ, chọn bảng, vv,

Khi bạn nhận được để "Nhập Hộp thoại dữ liệu ",
nhấp vào Thuộc tính trong hộp thoại" Thuộc tính kết nối ",
chọn tab "Định nghĩa".

Và có Excel độc đáo hiển thị chuỗi kết nối để sao chép
(hoặc thậm chí Xuất kết nối File ...)

+0

Điều này hoạt động hoàn hảo và không yêu cầu kết nối được thiết lập trong VS. – Robino

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