2012-03-29 40 views
26

Tại sao tôi nhận được "Không thể tìm thấy Nhà cung cấp Dữ liệu Khung được yêu cầu" khi cố gắng thiết lập nguồn dữ liệu mới trong Visual Studio 2010 Professional?Không thể tìm thấy Nhà cung cấp Dữ liệu Khung Net được yêu cầu trong Visual Studio 2010 Professional

số liệu thống kê của tôi:

  • Windows 7 64bit 16gig RAM
  • Visual Studio 2010 Professional
  • SQL Server 2008 (máy chủ A, quyền quản trị đầy đủ)
  • SQL Server 2008 (server B, đầy đủ quyền quản trị)

Tôi đã bắt đầu ứng dụng ASP.NET thử nghiệm và khi tôi cố gắng thêm nguồn dữ liệu mới, tôi nhận được:

Không thể tìm thấy Nhà cung cấp dữ liệu Khung được yêu cầu. Nó có thể không được cài đặt.

Tôi đã cài đặt .NET 4.

Khi tôi tạo kết nối và nhấp vào "Kiểm tra kết nối", nó sẽ kiểm tra thành công. SQL Server Management Studio kết nối tốt và tôi đã xác minh thông tin đăng nhập trên mọi thứ.

Trả lời

52

Tôi đã thấy các báo cáo về những người có và bổ sung, tự chấm dứt nút trong tệp machine.config. Việc xóa nó đã giải quyết được vấn đề của họ. machine.config được tìm thấy trong \Windows\Microsoft.net\Framework\vXXXX\Config. Bạn có thể có vô số tệp cấu hình dựa trên số phiên bản của khung được cài đặt, bao gồm các biến thể 32 bit và 64 bit.

<system.data> 
    <DbProviderFactories> 
     <add name="Odbc Data Provider" invariant="System.Data.Odbc" ... /> 
     <add name="OleDb Data Provider" invariant="System.Data.OleDb" ... /> 
     <add name="OracleClient Data Provider" invariant="System.Data ... /> 
     <add name="SqlClient Data Provider" invariant="System.Data ... /> 
     <add name="IBM DB2 for i .NET Provider" invariant="IBM.Data ... /> 
     <add name="Microsoft SQL Server Compact Data Provider" ... />  
    </DbProviderFactories> 

    <DbProviderFactories/> //remove this one! 
</system.data> 
+2

ĐÃ LÀM VIỆC !!!!!! Cảm ơn!!Tôi thực sự đã thấy điều đó sớm hơn nhưng nó đã không xảy ra với tôi để loại bỏ 'loại bỏ cái này!'. Thêm vào đó, tôi có bốn tệp machine.config. Một trong phiên bản 2 và phiên bản 4 cho cả 32 và 64bit. Tôi phải thay đổi cả bốn. Cám ơn rất nhiều! +100000 – cbmeeks

+3

Lưu ý về bản sửa lỗi của tôi - mặc dù máy của tôi là 64bit với .NET framework 4 -> nó đã loại bỏ các tài liệu IBM.Data.DB2 ... trong machine.config trong .NET 2 đã sửa lỗi với SQL Server Mgmt Studio –

+0

Tôi đã cố gắng sửa lỗi này và bây giờ VS2015 đóng cửa ở màn hình giật gân và không có ứng dụng nào được viết bằng .Net4.0 sẽ bắt đầu. Bất kỳ ý tưởng? – Noobie3001

2

Trong trường hợp của tôi mục nhà cung cấp dữ liệu cho MySQL được "đơn giản là" mất tích trong file machine.config mô tả ở trên (mặc dù tôi đã cài đặt kết nối MySQL đúng)

<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 

Đừng quên để đưa Phiên bản đúng của MySQL vào mục nhập

+0

Trong trường hợp của tôi, hàng này bị thiếu và cài đặt lại MySQL .Net Connector thực sự đã thêm hàng bị thiếu cho tôi ... :-). P.s Tôi đang sử dụng [liên kết này] (http://mirrors.dotsrc.org/mysql/Downloads/Connector-Net/) (không cần đăng ký) – itsho

9

Tôi thích các đề xuất khác nhưng tôi không muốn cập nhật machine.config cho một ứng dụng duy nhất. Tôi đề nghị bạn chỉ cần thêm nó vào web.config/app.config. Đây là những gì tôi cần để sử dụng MySql Connector/NET mà tôi "bin" triển khai.

<system.data> 
    <DbProviderFactories > 
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
</system.data> 
+1

Có các loại dự án không có 'web.config'. – ajeh

+3

Cũng đáng lưu ý rằng nếu một phiên bản khác của nhà cung cấp * được * cài đặt trên máy, bạn sẽ cần thêm '' vào đoạn mã trên. –

1

Tôi gặp sự cố này với phiên bản 6.7.4 và đã giải quyết vấn đề này bằng cách cài đặt phiên bản 6.5.6.

Thiết lập của tôi là phiên bản Trung tâm dữ liệu Win 2008 R2 SP1, SQL Server 2008 R2 với Business Intelligence Development Studio (VS2008). Cài đặt rất cơ bản.

Khi tôi cài đặt 6.7.4, tôi thậm chí không thể thấy nhà cung cấp MySQL như một sự lựa chọn. Tuy nhiên, khi tôi nhìn vào file machine.config, tôi thấy tài liệu tham khảo cho nhà cung cấp vai trò MySQL vv, nhưng không có mục nhập đã được thêm vào.

+1

Đây cũng là vấn đề của tôi và nó đã được giải quyết bằng cách cài đặt "MySQL cho Visual Studio tích hợp" theo hướng dẫn tại đây: http://dev.mysql.com/downloads/connector/net/ Tôi hoàn toàn không chắc chắn về những gì nhưng họ đã xóa nó khỏi gói trình kết nối mà trước đây nó đã được kết nối. – splitfeed

0

Tôi nghĩ rằng vấn đề của tôi là do máy tính của tôi.config cho mỗi câu trả lời tôi tìm thấy trực tuyến nhưng thủ phạm hóa ra là trong web.config của dự án đã được xóa bỏ DbProviderFactories.

<system.data> 
    <DbProviderFactories> 
    <clear /> 
     ... 
    </DbProviderFactories> 
</system.data> 
Các vấn đề liên quan