发布网友 发布时间:2022-05-06 20:36
共2个回答
懂视网 时间:2022-05-07 00:57
近来做的一个项目中,数据库用的是 MySql, 而在项目使用 Entity Data Model 来做数据服务层 ,可是在项目中添加 Data Entty Model 时,一般我们都会选择从数据库中直接生成,可是在选择 Data Provider 时,就是没有 .net framework Data provider for Mysql,
近来做的一个项目中,数据库用的是 MySql, 而在项目使用 Entity Data Model 来做数据服务层.net framework Data provider for SQL Server , 这个只能与 Microsoft 的 SQL server 或者 mssql server 连接,如果和 Mysql 连接就会出错,接下来从数据库生成 数据实体这一步就没法做,工作进展就卡在了这了, 查询了好多资料,折腾了一两天,问题最终还是被解决了,可牺牲的是时间与效率,于是有了这篇博客,也是自己对这期间尝试的总结。好了,不多说了,下面我把具体的步骤列出,同时配有截图:
在项目中右键单击,添加新项:
2.选择 Data--> Ado.net entity data model
3. 选择从数据库生成模型
4. 选择数据来源
可是在这一步中,原来的 Data provider 就只有珍上 net framework data provider for sql server ,那个 net framework data provider for mysql 是我自己加进去的,下来就是 水添加 net framework data provider for mysql 关键的一步:
下载并安装 : mysql-installer-community-5.6.21.1
下载地址:http://pan.baidu.com/s/1o62ZLsI 密码:yjtl
同时修改以下文件:
C:WindowsMicrosoft.NETFrameworkv4.0.30319Configmachine.config 文件
PublicKeyToken 根据自己用的 MySql.Data.MySqlClient 的版本号来确定,在这里我用的是官网上最新的 6.9.5.0
重新启动项目,并重新添加数据实体模型
这下就OK了,问题终于得到了解决
热心网友 时间:2022-05-06 22:05
新增: 2006 年 12 月 12 日若要使用協力廠商的 .NET Framework 資料提供者來擷取 Reporting Services 報表資料集的資料,您必須在兩個位置部署並註冊 .NET Framework 資料提供者組件:報表撰寫用戶端與報表伺服器。在報表撰寫用戶端上,您必須註冊資料提供者做為資料來源類型,並將其與查詢設計師產生關聯。然後您可以在建立報表資料集時,選取此資料提供者做為資料來源的類型。相關聯的查詢設計師便會開啟,協助您建立此資料來源類型的查詢。在報表伺服器上,您必須註冊資料提供者,做為資料來源類型。然後您可以處理使用此資料提供者,從資料來源擷取資料的已發行報表。協力廠商的資料提供者不一定會提供適用於 Reporting Services 資料處理延伸模組的所有功能。如需詳細資訊,請參閱<Reporting Services 支援的資料來源>。若要瞭解有關擴充 .NET Framework Data Provider 之功能的資訊,請參閱<Implementing a Data Processing Extension>。您需要管理員認證才能安裝與註冊資料提供者。在報表伺服器上註冊 .NET Framework Data Provider若要在報表伺服器上,處理使用此 .NET Framework 資料提供者的已發行報表,您必須在報表伺服器上安裝組件。您必須修改兩個組態檔。修改 rsreportserver.config 以註冊資料提供者。修改 rssrvpolicy.config 以授與組件的程式碼存取安全性權限。 在報表伺服器上安裝資料提供者組件 在您要使用 .NET Framework 資料提供者的報表伺服器上,巡覽至 bin 目錄的預設位置。報表伺服器 bin 目錄的預設位置是 <drive>:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin。將組件從您的臨時位置複製到報表伺服器的 bin 目錄。或者,您可以將組件載入至全域組件快取 (GAC)。如需詳細資訊,請參閱 msdn.microsoft.com 的 .NET Framework SDK 文件集中的<使用組件和全域組件快取>。 在報表伺服器上註冊 .NET 資料提供者 在bin 的 ReportServer 父目錄中,製作 RSReportServer.config 檔的備份。開啟RSReportServer.config。您可以利用 Microsoft Visual Studio 或簡單的文字編輯器 (如「記事本」) 開啟組態檔。在RSReportServer.config 檔中,找出 Data 元素。在下列位置應該就會建立一個 .NET Framework 資料提供者的項目: <Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions> 加入.NET Framework 資料提供者的項目。 屬性 描述Name為資料提供者提供唯一的名稱,例如,MyNETDataProvider。Name 屬性的最大長度為 255 個字元。該名稱在組態檔之 Extension 元素的所有項目中,必須是唯一的。當您建立新的資料來源時,您在此處包含的值會出現在資料來源類型的下拉式清單中。Type輸入一個逗號分隔清單,其中包含實作 IDbConnection 介面之類別的完整命名空間,後面緊接著 .NET Framework 資料提供者組件的名稱 (不包含 .dll 副檔名)。例如,若是部署至報表伺服器 bin 目錄的 DLL,該項目可能類似如下: <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" /> 如果您將組件載入至全域組件快取 (GAC),您必須提供強式名稱屬性。例如: <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/> 設定.NET 資料提供者的程式碼群組原則 在bin 的 ReportServer 父目錄中,製作 rssrvpolicy.config 檔的備份副本。開啟rssrvpolicy.config。您可以利用 Microsoft Visual Studio 或簡單的文字編輯器 (如「記事本」) 開啟組態檔。在rssrvpolicy.config 檔中,找出 CodeGroup 元素。針對授與 FullTrust 權限的資料提供者組件,加入程式碼群組。您的程式碼群組可能類似如下: <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="ThisDataProviderCodeGroup" Description="Code group for the .NET data provider"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url= "C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\DataProviderAssembly.dll" /> </CodeGroup> URL 成員資格僅是您可以針對資料提供者選取的多個成員資格條件的其中一個。如需有關 Reporting Services 中之程式碼存取安全性的詳細資訊,請參閱<Understanding Code Access Security in Reporting Services>。確認部署與註冊您可以確認是否將資料提供者成功部署至報表伺服器,方法是,開啟報表管理員,然後確認該資料提供者包含在可用資料來源的清單中。如需有關報表管理員和資料來源的詳細資訊,請參閱<建立、修改與刪除共用資料來源>。在報表設計師用戶端上註冊 .NET Framework Data Provider若要針對資料來源撰寫使用此 .NET Framework 資料提供者的報表,您必須在執行報表設計師的用戶端電腦上安裝該組件。您必須修改兩個組態檔。修改 RSReportDesigner.config 以註冊資料提供者做為資料來源,以及使用一般查詢設計師。修改 RSPreviewPolicy.config 以授與資料提供者組件的程式碼存取安全性權限。 在報表設計師用戶端上安裝資料提供者組件 在您要使用 .NET Framework 資料提供者的報表設計師用戶端上,巡覽至 PrivateAssemblies 目錄的預設位置。PrivateAssemblies 目錄的預設位置是 <drive>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies。將組件從您的臨時位置複製到報表設計師用戶端的 PrivateAssemblies 目錄。或者,您可以將組件載入至全域組件快取 (GAC)。如需詳細資訊,請參閱 msdn.microsoft.com 的 .NET Framework SDK 文件集中的<使用組件和全域組件快取>。 在報表設計師用戶端上註冊 .NET 資料提供者 在PrivateAssemblies 目錄中,製作 RSReportDesigner.config 檔的備份副本。利用Visual Studio 或簡單的文字編輯器 (如「記事本」) 開啟 RSReportDesigner.config。在RSReportDesigner.config 檔中,找出 Data 元素。在下列位置應該就會建立一個資料提供者的項目: <Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions> 加入資料提供者的項目。 屬性 描述Name為資料提供者提供唯一的名稱,例如,MyNETDataProvider。Name 屬性的最大長度為 255 個字元。該名稱在組態檔之 Extension 元素的所有項目中,必須是唯一的。當您建立新的資料來源時,您在此處包含的值會出現在資料來源類型的下拉式清單中。Type輸入一個逗號分隔清單,其中包含實作 IDbConnection 介面之類別的完整命名空間,後面緊接著 .NET Framework 資料提供者組件的名稱 (不包含 .dll 副檔名)。例如,若是部署至 Visual Studio PrivateAssemblies 目錄的 DLL,該項目可能類似如下: <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" /> 如果您將組件載入至 GAC,您必須提供強式名稱屬性。例如: <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/> 在RSReportDesigner.config 檔中,找出 Designer 元素。在下列位置應該就會建立一個 .NET Framework 資料提供者的項目: <Extensions> <Designer> <Your data provider configuration information goes here> </Designer> </Extensions> 將下列項目加入至 RSReportDesigner.config 檔的 Designer 元素下。您僅需要以您在之前項目中提供的名稱,取代 Name 屬性。 <Extension Name="MyNETDataProvider" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/> 在報表設計師用戶端上設定 .NET 資料提供者的程式碼群組原則 在PrivateAssemblies 目錄中,製作 RSPreviewPolicy.config 檔的備份。利用Visual Studio 或簡單的文字編輯器 (如「記事本」) 開啟 RSPreviewPolicy.config。在RSPreviewPolicy.config 檔中,找出 CodeGroup 元素。針對授與 FullTrust 權限的 .NET Framework 資料提供者組件,加入程式碼群組。您的程式碼群組可能類似如下: <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="ThisDataProviderCodeGroup" Description="Code group for the .NET data provider"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url= " C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\ DataProviderAssembly.dll" /> </CodeGroup> URL 成員資格僅是您可以針對資料提供者選取的多個成員資格條件的其中一個。如需有關 Reporting Services 中之程式碼存取安全性的詳細資訊,請參閱<Understanding Code Access Security in Reporting Services>。在報表設計師用戶端上確認部署與註冊在您可以確認部署之前,必須在本機電腦上,關閉 Visual Studio 的所有執行個體。在您已經結束所有目前的工作階段後,您可以確認是否已將您的資料提供者成功部署至報表設計師,方法是,在 Visual Studio 中建立新的報表專案。當您從報表建立新的資料集時,資料提供者應該會包含在可用資料來源類型的清單中。平台考量在64 位元 (x64) 平台上,SQL Server Business Intelligence Development Studio 會以 32 位元 WOW 模式執行。當您在 x64 平台上撰寫報表時,您需要將 32 位元資料提供者安裝在報表撰寫用戶端上,才能預覽您的報表。如果您在相同的系統上發行報表,您需要 x64 資料提供者,才能使用報表管理員檢視報表。 對於以 Itanium 為基礎的平台,不支援 Business Intelligence Development Studio。與Reporting Services 一起安裝的資料處理延伸模組原始就必須針對每個平台編譯,而且必須安裝在正確的位置。如果您要註冊自訂的資料提供者或標準的 .NET Framework 資料提供者,則原始就需要針對適當的平台編譯,而且需要安裝在適當的位置。如果您是在 32 位元平台上執行,資料提供者必須針對 32 位元平台編譯。如果您是在 64 位元平台上執行,資料提供者則必須針對 64 位元平台編譯。您無法在 64 位元平台上,使用以 64 位元介面包裝的 32 位元資料提供者。如需有關資料提供者是否可以在已安裝的平台上運作的詳細資訊,請查閱您的協力廠商軟體。如需有關資料提供者與平台支援的詳細資訊,請參閱<Reporting Services 支援的資料來源>。請參閱概念設定Reporting Services 元件其他資源Implementing a Data Processing Extension 說明及資訊 取得SQL Server 2005 協助