Tôi đang cố gắng làm điều gì đó mà tôi tin là rất đơn giản. Tôi có một chuỗi kết nối mà tôi đang lấy từ một cơ sở dữ liệu. Khi tôi tạo một thể hiện mới của kết nối SQL có vẻ như (khi tôi gỡ lỗi và nhìn vào đối tượng) giống như nó đang tạo chuỗi kết nối db đúng cách. Tuy nhiên, messasge lỗi tôi nhận được làm cho tôi nghĩ rằng tất cả các thông tin sau khi gạch dưới trong tên cơ sở dữ liệu đang được loại bỏ.Tên cơ sở dữ liệu sau gạch dưới trong chuỗi kết nối đang bị bỏ qua
Mã Ex:
Database db = new SqlDatabase(ConnectionString); // Connection string appears correct
DbCommand dbCommand = db.GetStoredProcCommand("StoredProcName");
DataSet approverDataset = db.ExecuteDataSet(dbCommand); // when this executes, exception is generated
Khi tôi chạy mã này tôi chào đón với thông điệp ngoại lệ sau đây: Máy chủ chính "testdb_psidentity" không có khả năng truy cập vào cơ sở dữ liệu "TestDB" dưới sự an toàn hiện nay bối cảnh
Dưới đây là chuỗi kết nối của tôi:
DataSource=testserver.com;Database=testdb_ps;Trusted_Connection=false;uid=testdb_psidentity;pwd=testpwd
tôi đã cố gắng thay đổi này để:
DataSource=testserver.com;Database=[testdb_ps];Trusted_Connection=false;uid=testdb_psidentity;pwd=testpwd
Và trong khi dường như có được tên đầy đủ của cơ sở dữ liệu, nó cũng dường như đang tìm kiếm cơ sở dữ liệu với các dấu ngoặc đó trong tên. Khi tôi nhận được lỗi này: Không thể mở cơ sở dữ liệu "[testdb_ps]" do thông tin đăng nhập yêu cầu. Đăng nhập thất bại. Đăng nhập không thành công cho 'testdb_psidentity' của người dùng.
Tuy nhiên, tôi có thể đăng nhập kết nối với cơ sở dữ liệu bằng cách sử dụng thông tin đăng nhập/mật khẩu đó trong studio quản lý máy chủ SQL.
Bất kỳ cách nào tôi có thể làm cho nó chấp nhận tên cơ sở dữ liệu tên cơ sở dữ liệu testdb_ps? Tôi không thể đơn giản thay đổi tên cơ sở dữ liệu vì tôi không có quyền truy cập vào điều này và tôi đã được thông báo rằng việc thay đổi tên cơ sở dữ liệu đơn giản sẽ không xảy ra.
người dùng của bạn "testdb_psidentity" có kết nối/thực thi quyền trên cơ sở dữ liệu không? nếu bạn không chắc chắn về nó, bạn có thể kiểm tra nó bằng cách vào -> nhấp chuột phải vào cơ sở dữ liệu -> thuộc tính -> quyền -> chọn người dùng và kiểm tra theo tab rõ ràng ... – NiK
Đáng buồn thay, khi tôi nhấp chuột phải vào DB, tôi không có quyền truy cập để xem điều này. –
Phạm vi tiếp cận nhưng hãy thử đặt nguồn dữ liệu trong cú pháp [testserver.com] hoặc [testserver]. [Com]. Và bạn chắc chắn tên của nguồn là testserver.com (không phải máy chủ kiểm tra). Xem tên trong SMSS – Paparazzi