Cách nhận Chuỗi kết nối từ cơ sở dữ liệu


197

Tôi đã tạo một cơ sở dữ liệu với SQL Server Management Studio, bây giờ tôi muốn sử dụng nó trong ứng dụng C # của mình. Tôi cần chuỗi kết nối?

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ì đó tương tự, hoặc nó có trong tài liệu của tôi ở đâu đó không?

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

Làm thế nào để tôi có đượ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 ở đâu?

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


Hãy xem cách tạo chuỗi kết nối youtu.be/1WgO7CDSmu8
anomepani

Câu trả lời:


201

Cách dễ nhất để có được chuỗi kết nối là sử dụng cửa sổ "Server Explorer" trong Visual Studio (menu View , Server 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 các 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, khả năng phục hồi, thời gian, cấu hình gộp, v.v. bằng cách nhấp vào nút "Nâng cao ..." ở dưới cùng của " Thêm kết nối "hộp thoạ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 khác nhau tùy 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 trường hợp máy chủ, do đó, để triển khai ứng dụng của bạn, bạn sẽ phải tạo bản sao lưu cơ sở dữ liệu và triển khai nó trong SQL Server triển khai. Ngoài ra, bạn có thể sử dụng tệp dữ liệu bằng SQL Server Express (localDB trong SQL Server 2012), sẽ được phân phối dễ dàng với ứng dụng của bạn.

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


2
Tôi hiểu theo cách này và thích nó: 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 về MS SQL Server của tôi rất tệ, tôi đã bắt đầu sử dụng nó khoảng một giờ trước: \
Pomster

Có một máy chủ realsql? bạn sẽ sử dụng máy chủ sql express? Nó có đủ với SQL Server Compact Edition không? 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
Tôi đã sử dụng MS SQl Server Management Studio 2008, MS SQL Management studio để tạo cơ sở dữ liệu. Tôi đã sử dụng một truy vấn để tạo một số cột. Bây giờ tôi muốn điền nó với ứng dụng C # của mình
Pomster

Ứng dụng này sẽ được triển khai? Bạn sẽ sử dụng nó tại địa phương? Bạn có nhớ loại máy chủ cần thiết không?. Tôi không cần biết bạn đã làm cơ sở dữ liệu của mình như thế nào nhưng ở đâu và tại sao. Tôi không thể đoán những gì bạn cần !!!
JotaBe

Tôi sẽ sử dụng nó cục bộ, tôi không những gì bạn yêu cầu tôi cung cấp cho bạn?
Pomster

113

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 phần mở rộng từ .txt thành .udl .

Bấm đúp vào tệp .udl sẽ mở trình hướng dẫn Thuộc tính Liên kết Dữ liệu .

Cấu hình và kiểm tra kết nối đến 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 soạn thảo văn bản bạn chọn và chỉ cần sao chép chuỗi kết nối (không có Provider=<driver>phần) để sử dụng nó trong ứng dụng C # của bạn.

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

[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 sao chép từ nó

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

Nếu bạn muốn chỉ định tên người dùng và mật khẩu, bạn có thể chấp nhận từ các 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/


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

Hãy xem việc tạo và lưu chuỗi kết nối trong tệp cấu hình web youtu.be/1WgO7CDSmu8
anomepani

20

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 máy chủ SQL 2008, nó trông như thế này (tiêu chuẩn, đó là những gì bạn sẽ cần ở đây):

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

bật myServerAddress, viết tên của cá thể đã cài đặt của bạn (theo mặc định là.\SQLEXPRESS phiên bản SQL Server Express). Danh mục ban đầu = tên cơ sở dữ liệu của bạ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ó.

biên tập

Bạn sẽ cần bỏ tên người dùng và mật khẩu để xác thực windows và thêm Integrated Security=SSPI.


11

Nếu bạn đã cài đặt và thiết lập MS SQL Server và Management Studio, hãy truy cập Visual Studio (Visual Studio chứ không phải SQL Server Management Studio).

1] Trong Visual Studio, đi tới Công cụ -> Kết nối với Cơ sở dữ liệu .

2] Trong Tên Máy chủ Chọn Tên Máy chủ Cơ sở dữ liệu của bạn (Hãy để danh sách Dân số nếu mất thời gian).

3] Trong Kết nối với cơ sở dữ liệu, chọn Chọn hoặc nhập tên cơ sở dữ liệu .

4] Chọn cơ sở dữ liệu của bạn từ Dropdown.

5] Sau khi chọn Cơ sở dữ liệu, hãy thử Kiểm tra kết nối.

6] Nếu Kiểm tra kết nối thành công, bấm Ok.

7] Trong Visual Studio, đi đến Xem -> Server Explorer .

8] Trong cửa sổ Server Explorer, bên dưới kết nối dữ liệu Chọn cơ sở dữ liệu của bạn. Nhấp chuột phải vào Cơ sở dữ liệu của bạn -> Nhấp vào Thuộc tính .

9] Trong cửa sổ Thuộc tính, bạn sẽ thấy Chuỗi kết nối .


9

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

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

Data -> From Other Sources -> From SQL Server 

đặt tên máy chủ , chọn bảng , v.v.

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

Và ở đó Excel sẽ hiển thị độc đáo Chuỗi kết nối để sao chép
(hoặc thậm chí xuất tệp kết nối ... )


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

Haha, đây là một cách siêu sáng tạo nhưng hiệu quả để có được điều này. Tôi đã thử nó trước tiên đơn giản vì nó không gọi cho bất kỳ sự phụ thuộc tiên quyết nào. Cảm ơn bạn.
Todd

3

đặt thẻ bên dưới trong tệp 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 chuỗi kết nối ở trên, vd

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

3

Nếu một người sử dụng công cụ Linqpad, sau khi kết nối với cơ sở dữ liệu đích từ các kết nối, người ta có thể nhận được chuỗi kết nối để sử dụng.

  1. Nhấp chuột phải vào kết nối cơ sở dữ liệu.
  2. Lựa chọn Properties
  3. Lựa chọn Advanced
  4. Lựa chọn Copy Full Connection String to Clipboard

Kết quả: Data Source=.\jabberwocky;Integrated Security=SSPI;Initial Catalog=Rasa;app=LINQPad

nhập mô tả hình ảnh ở đây


Loại bỏ app=LinqPadtùy thuộc vào trình điều khiển và các mục khác như Serverthay vì nguồn, bạn có thể cần điều chỉnh trình điều khiển cho phù hợp với hoạt động mục tiêu; nhưng nó cho một bệ phóng.


2
Tôi chấp thuận bài đăng này
Jabberwocky

1

sở dữ liệu máy chủ sql sẽ được lưu trữ theo mặc định trong đường dẫn sau

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

, trong đó <drive>ổ đĩa cài đặt và X là số hiệu (MSSQL.1 cho phiên bản đầu tiên của Cơ sở dữ liệu). Đặt hàng để 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, nơi bạn đã lưu trữ theo sau là phiên bản của máy chủ cơ sở dữ liệu.

Nói chung, tên máy chủ sẽ giống như địa chỉ IP của máy có cơ sở dữ liệu được đính kèm và phiên bản mặc định sẽ là SqlExpress

Một chuỗi kết nối có chứa nguồn dữ liệu tên ví dụ, tên máy chủ, Danh mục ban đầu tức là, tên cơ sở dữ liệu, người sử dụng id ví dụ, người dùng đăng nhập id của cơ sở dữ liệu, mật khẩu ví dụ, mật khẩu đăng nhập 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 qua các tệp Chương trình \ Microsoft SQl Server và tôi không biết mình đang tìm kiếm cái gì?
Pomster

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.
Sai Kalyan Kumar Akshinthala

0

Nếu bạn đã tạo Trình quản lý kết nối trong dự án của mình thì bạn 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 hãy sửa tôi nếu tôi sai.


0

Cách dễ nhất với bạn bè của tôi, là mở tab máy chủ thám hiểm trên visual studio 2019 (trong trường hợp của tôi), sau đó thử tạo kết nối đến cơ sở dữ liệu. Sau khi tạo một kết nối thành công, chỉ cần nhấp chuột phải vào nó và đi đến các sản phẩm. Ở đó bạn sẽ tìm thấy một trường kết nối chuỗi với cú pháp chính xác! ... Điều này hiệu quả với tôi vì tôi biết tên máy chủ của mình trước khi sử dụng .... chỉ không thể tìm ra cú pháp chính xác để chạy giàn giáo ef của tôi ...


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

2
Làm thế nào điều này trả lời câu hỏi OP?
Filburt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.