webForumDet fria alternativet

ASP.NET och MySQL

.NET

10 svar · 624 visningar · startad av cyprys

Medlem sedan dec. 20003 563 inlägg
Frågan#1

Jag ska koppla min ASP.NET-applikation till en mySQL-databas, men lyckas inte.

Jag har hittat en massa exempel genom att använda ODCB, men använder hellre en OLEDB-koppling.
Vad behöver man för att kunna koppla till en databas på den lokala datorn.
Har tankat hem mySQL samt MyODCB (Bara ändå) men får felmeddelande på denna kod.
Har en stark känsla på att jag saknar något.

Public conn As New OleDbConnection("Provider=MySQLProv;Data Source=databasnamn;User Id=a;Password=a;")

-- Felmess --

No error information available: REGDB_E_CLASSNOTREG(0x80040154).

[InvalidOperationException: The 'MySQL' provider is not registered on the local machine.]
Medlem sedan jan. 20012 204 inlägg
#2

om du kör med odbc får du byta ut mot "New OdbcConnection()" samt att importa Microsoft.Data.Odbc

Annars måste man väl lägga till nån DNS eller nått kanske...

Medlem sedan nov. 20014 054 inlägg
#3

[InvalidOperationException: The 'MySQL' provider is not registered on the local machine.]

Providern är inte installerad/registrerad på datorn!

Installera/registrera den så kommer det säkert fungera!

Medlem sedan dec. 20003 563 inlägg
#4

Jo det är det som är problemet.
Om man kollar på https://www.mysql.com så hittar jag ingen koppling för OLe Db, .NET och MySQL.
ODCB går dock bra, och jag har tankat dessa filer.

Men jag undrar helt enkelt om någon har de filerna som behövs för att kunna koppla ASP.NET till mySQL genom Ole Db istället för genom ODCB?
Eller kanske en länk?

Medlem sedan jan. 20012 204 inlägg
#5

Får man fråga varför inte via Odbc då nu detta fungerar?

Medlem sedan dec. 20003 563 inlägg
#6

Vid ett eventuellt byte till t.ex. MS SQL så vill jag fortfarande använda Ole Db, utan att behöva byta.

Men egentligen handlar inte frågan om att jag inte kan koppla till databasen, utan om vad som saknas för att koppla till denne med Ole Db.

Medlem sedan jan. 20012 204 inlägg
#7

Gör en liten db-wrapper. Kan ladda upp den jag gjort.

Medlem sedan aug. 20011 087 inlägg
#8

Hmm jag får error på denna raden

objCmd.Fill(ds, "test")

Server Error in '/' Application.
--------------------------------------------------------------------------------

D:\Program\Delade filer\System\Ole DB\oledb32.dll 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.FileNotFoundException: D:\Program\Delade filer\System\Ole DB\oledb32.dll

Source Error: 

Line 15: 		' Fyll ett DataSet.
Line 16: 		dim ds as DataSet = new DataSet()
Line 17: 		objCmd.Fill(ds, "test")
Line 18: 
Line 19: 		' Välj en DataView och bind till serverkontrollen.
 

Source File: d:\inetpub\wwwroot\dot net\15.aspx    Line: 17 

Stack Trace: 

[FileNotFoundException: D:\Program\Delade filer\System\Ole DB\oledb32.dll]
   System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName) +1480
   System.Data.Common.ADP.GetVersionInfo(String filename) +105
   System.Data.Odbc.OdbcGlobalEnv.GetGlobalEnv() +544
   System.Data.Odbc.OdbcConnection.Open() +185
   System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +44
   System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +304
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +77
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +36
   ASP._15_aspx.Page_Load(Object obj, EventArgs e) in d:\inetpub\wwwroot\dot net\15.aspx:17
   System.Web.UI.Control.OnLoad(EventArgs e) +67
   System.Web.UI.Control.LoadRecursive() +35
   System.Web.UI.Page.ProcessRequestMain() +731
Medlem sedan juli 20022 537 inlägg
#9

Hur importerar du dll:en?

Medlem sedan maj 20012 812 inlägg
#10

Vid ett eventuellt byte till t.ex. MS SQL så vill jag fortfarande använda Ole Db, utan att behöva byta.

1. Om du bygger en speciell DAL så behöver du inte göra mer än byta ut connectionsträngen.

2. Att behålla OleDb när man använder SQL Server är rätt korkat när det finns speciella objekt till MS SQL server som ger dig maximal prestanda. Så skall du byta till MS SQL Server så skall du även byta ut dina OleDb-objekt mot Sql-objekt. Men detta löser din DAL om du skrivit den rätt.

- M

Medlem sedan juni 20019 024 inlägg
#11

För att koppla MySql behövs även Odbc.Net.

http://www.webforum.nu/showthread.php?s=&forumid=191&threadid=47344

256 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)