ASP.NET เรื่อง การใช้งาน Gridview + sqlDatasource + MySql ครับ Unable to find the requested .Net Framework Data Provider. It may not be installed.
ขอดู Web.Config ของคุณหน่อยครับ คือตอนนี้มันไม่มี Library ที่คุณเรียกใช้งานอยู่ครับ
Date :
2011-10-12 17:56:26
By :
webmaster
Code (Web.Config)
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="MyConn" connectionString="server=localhost;user id=root;Password=root;database=flas_em"
providerName="MySql.Data.MySqlClient" />
<add name="flas_emConnectionString" connectionString="server=localhost;User Id=root;password=root;Persist Security Info=True;database=flas_em"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<system.web>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false" />
</httpHandlers>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0">
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
</system.webServer>
</configuration>
Date :
2011-10-13 07:50:19
By :
ou_over
ผมเรียกใช้ MyConn อ่ะครับ ทั้งวิธี datatable และ วิธีเรียกใช้ sqlDatasource ครับ คือผมไปหาอ่านจากเ็ว็บนอก ประมาณว่า sqlDatasource มันไม่ซัพพอร์ต MySQL อ่ะครับ แต่ตอนผมเซ็ตค่า ก็เรียกคิวรี่ ดูได้ปกติ นะครับ ทำในเครื่องตัวเอง ก็ ทดสอบโค้ด อัพเดท ลบ ผ่าน rowcommand ของ SqlDataSource1.UpdateCommand หรือ SqlDataSource1.DeleteCommand ได้หมด คือถ้า sqlDatasource มันไม่ัซัพพอร์ต MySQL แล้วทำไมเครื่องผม ปกติ แต่พอผม เอา sqlDataSource ออก ลองทดสอบโค้ด ผ่าน Gridview ธรรมดา (ไม่ใช้ คำสั่ง ลบ และ อัพเดท) มันก็ไม่เออเร่อ
1. ช่วยดูเออเร่อทีครับ ผม งง - -"
2. คือตอนนี้ ผม ใช้คำสั่งอัพเดท และ ลบ ของ Gridview โดยการ ส่ง String คำสั่ง ใส่เข้าไปใน sqlDataSource ถ้าหากว่า ผมจะใช้คำสั่ง อัพเดท ลบ ตรง ๆ ไม่ผ่าน sqlDataSource command ได้มั๊ยครับ คือจำเป็นมั๊ย ที่เราจะต้องเรียกผ่าน command ของมัน ถ้าไม่จำเป็น ผมจะได้ข้ามขั้นตอนการใช้ sqlDataSource ไปเลย ครับ ขอบคุณครับ
Date :
2011-10-13 07:58:52
By :
ou_over
คือใน Server ไม่มี MySql.Data.MySqlClient.dll หรือเปล่าครับ , sqlDataSource มันใช้ได้กับ Database หลายตัวครับ
อันที่จริงมีหลายตัวครับ จะใช้ MySql.Data โดยตรงเลยก็ได้ครับ
Go to : ASP.NET MySQL Connect to Database
Date :
2011-10-13 09:44:34
By :
webmaster
ครับตอนแรก ผมก็สงสัย MySQL แต่มันแปลกตรงที่ ลบ sqlDataSource ออก แล้ว bind DATA ผ่าน datatable ใน Code แทน มันกลับไม่ฟ้อง เออเร่อ
ตอนนี้ ผมเลือกที่จะไม่เรียกใช้ sqlDataSource แล้วครับ ใช้การเขียนโค้ด ตรง ๆ ไปเลย ไม่รู้ว่ามีใครเจอปัญหาแบบผมหรือเปล่า - -" ยังไงก็ขอบคุณครับ
Date :
2011-10-13 10:02:42
By :
ou_over
Date :
2011-10-16 16:59:49
By :
webmaster
Load balance : Server 05