OK, ik heb er een nachtje over geslapen en terug geprobeert. Even samenvatten wat ik wil:
Ik wil in ASP.NET coden waarbij ik informatie opvraag uit een MySQL database (lf_site) waarop ik in moet loggen als 'root' zonder paswoord. Ik wil hierbij Dreamweaver MX gebruiken (geen Visual Studion .NET dus)
Wat heb ik geinstalleerd:
- Dreamweaver MX
- IIS 5.1 uit Windows XP
- .NET Framework 1.1
- MySQL Server
- MyODBC
- MyOLEDB
- Microsoft Data Access Component 2.7
- ODBC .NET component
Wat is het probleem 
Het probleem is dat ik maar niet verbonden raak met MySQL. Ik probeerde volgende dingen:
- MyOLEDB
Ik maak volgende connection string aan via Application -> Databases -> + -> OLE DB Connection:
code:
1
2
3
4
5
6
7
| Provider=MySqlProv;
Data Source=lf_site;
Integrated Security="";
Password="";
User ID=root;
Location=localhost;
Extended Properties="" |
Als ik dan test doe dan krijg ik "Format of the initialization string does not conform to the OLE DB specifications."
met
code:
1
| Provider=MySQLProvData; Source=lf_site;User Id=root;Password=; |
krijg ik iets van een unidentified error.
Ik kreeg ook al vage 403-errors etc. Hoe dan ook, zolang hij bij de tests errors geeft gaat hij ook niet verder met het maken van de database.
Besluit OLE DB liefst achterwege want het geeft meer problemen dan wat anders.
- ODBC
Met deze code:
code:
1
2
3
4
5
| Provider=MSDASQL.1;
Persist Security Info=False;
User ID=root;
Data Source=LF-database;
Initial Catalog=lf_site |
(ik het een ODBC gemaakt adhv MyODBC genaamd LF-database die naar de database verwijst.)
krijg ik in Dreamweaver een goeie connectie. Beter zelf, ik krijg ook alle tabellen te zien en zelf hun inhoud. Dit zou ik dus heel graag blijven gebruiken.
Het probleem is hierbij de MSDASQL provider. Die wordt blijkbaar niet ondersteund. Als ik mijn pagina's maak in Dreamweaver gaat alles goed. Ik save de pagina's en deploy de site ook. Daarna ga ik via internet naar het goeie adres en dan krijg ik:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| System.ArgumentException: The .Net Framework Data Provider for OLEDB (System.Data.OleDb)
does not support the Microsoft OLE DB Provider for ODBC Drivers (MSDASQL).
Use the .Net Framework Data Provider for ODBC (System.Data.Odbc).
at System.Data.OleDb.OleDbConnectionString.ValidateNotMSDASQL(String progid)
at System.Data.OleDb.OleDbConnectionString.ValidateParse()
at System.Data.Common.DBConnectionString..ctor(String connectionString,
UdlSupport checkForUdl)
at System.Data.OleDb.OleDbConnectionString.ParseString(String connectionString)
at System.Data.OleDb.OleDbConnection.set_ConnectionString(String value)
at System.Data.OleDb.OleDbConnection..ctor(String connectionString)
at DreamweaverCtrls.DataSet.NewDbConnection(String strConnection)
at DreamweaverCtrls.DataSet.DoInit()
--------------------------------------------------------------------------------
System.Exception: The DefaultView was requested but no tables yet exist.
at DreamweaverCtrls.DataSet.get_DefaultView() |
Blijkbaar gaat het dus niet met MSDASQL maar wel met die System.Data.Odbc. Alleen weet ik niet hoe ik die kan installeren indien nodig of met welke string ik die dan moet aanroepen.
Momenteel ziet mijn web.config er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
| <configuration>
<appSettings>
<add key="MM_CONNECTION_HANDLER_Database" value="default_oledb.htm" />
<add key="MM_CONNECTION_STRING_Database"
value="Provider=MSDASQL.1;Persist Security Info=False;
User ID=root;Data Source=LF-database;Initial Catalog=lf_site" />
<add key="MM_CONNECTION_DATABASETYPE_Database" value="OleDb" />
<add key="MM_CONNECTION_SCHEMA_Database" value="" />
<add key="MM_CONNECTION_CATALOG_Database" value="" />
</appSettings>
</configuration> |
Ik weet niet wat ik hieraan moet veranderen om het via ODBC te laten werken.
Macromedia geeft zelf geen informatie over MySQL en Dreamweaver, je moet je er maar uit slaan blijkbaar.