Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    asp.net e mysql connessione possibile?

    Ho creato una pagina asp.net che effettua una connessione a db MySQL... però mi viene restituito il seguente errore:

    System.ArgumentException: An OLE DB Provider was not specified in the ConnectionString. An example would be, 'Provider=SQLOLEDB;'.
    at System.Data.OleDb.OleDbConnectionString.ValidatePa rse()
    at System.Data.Common.DBConnectionString..ctor(String connectionString, UdlSupport checkForUdl)
    at System.Data.OleDb.OleDbConnectionString.ParseStrin g(String connectionString)
    at System.Data.OleDb.OleDbConnection.set_ConnectionSt ring(String value)
    at System.Data.OleDb.OleDbConnection..ctor(String connectionString)
    at DreamweaverCtrls.DataSet.NewDbConnection(String strConnection)
    at DreamweaverCtrls.DataSet.GetConnection(String strConnection)
    at DreamweaverCtrls.DataSet.DoInit()

    Come mai? Premetto che il server non è in locale...ma è su spazio a pagamento...
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  2. #2
    per mysql non puoi usare System.Data.OleDb, ma devi utilizzare ODBC oppure il connector dedicato che puoi scaricare dal sito di mysql:

    http://www.mysql.org/downloads/connector/net/1.0.html



    PS per la stringa di connessione vedi:

    http://www.connectionstrings.com
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  3. #3

    ok

    Scusa mho capito.... il problema è che il sito risiede su Aruba...quindi io non posso installare nulla!
    secondo te potrebbe andare bene questo connector?

    ODBC 3.51 Remote database:

    "DRIVER={MySQL ODBC 3.51 Driver};SERVER=data.domain.com;PORT=3306;DATABASE= myDatabase; USER=myUsername;PASSWORD=myPassword;OPTION=3;"

    ma su server devo inserire l'host MySQL, tipo 62.149.150.19?
    Ho chisto aiuto a loro e mi hanno semplicemente creato una pagina aspx che si connetteva al mio database MySQL....però ovviamente non va bene per essere utilizzata con dreamweaver!

    Page Language="C#" Debug="true"
    Import namespace = "System.Data"
    Import namespace = "Microsoft.Data.Odbc"
    Assembly Name = "Microsoft.Data.Odbc"

    protected void Page_Load(Object sender, EventArgs e) {
    string mySQLConnStr = "driver={MySQL ODBC 3.51 Driver};";
    mySQLConnStr = mySQLConnStr + "server=62.149.150.19;";
    mySQLConnStr = mySQLConnStr + "uid=xxxx;";
    mySQLConnStr = mySQLConnStr + "pwd=xxxx;";
    mySQLConnStr = mySQLConnStr + "database=Sql55481_1;";
    mySQLConnStr = mySQLConnStr + "OPTION=17923";

    OdbcConnection myConnection = new OdbcConnection(mySQLConnStr);
    string SQL = "select * from ADMIN";
    OdbcDataAdapter myCommand = new OdbcDataAdapter(SQL, myConnection);
    DataSet ds = new DataSet();
    myCommand.Fill(ds, "news");
    MyDataGrid.DataSource=ds.Tables["news"].DefaultView;
    MyDataGrid.DataBind();
    }

    Come faccio ad utilizzarla e metterla nel web.config per farla vedere come stringa di connessione da dreamweaver?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  4. #4
    Premetto che non uso Dreamweaver ma Visual Studio cmq il linguaggio è lo stesso quindi secondo me un metodo fatto per uno dovrebbe andare anche con l'altro. Il connector che ti ho consigliato dovrebbe essere installato solo sulla macchina su cui sviluppi e sul sito c'è solo da copiare la Mysql.Data.dll nella cartella bin. Non è un componente da registrare quindi non dovrebbe dare fastidio (anche se so che le politiche di quel provider sono spesso restrittive sulle cose che si possono caricare sui loro server).
    Peraltro in mancanza di meglio quello che ti hanno consigliato può andare bene. Nella stringa di connessione devi ovviamente mettere quello che loro ti hanno dato come parametri di accesso al db.
    Su come DW "veda" le stringhe di connessione non ne ho idea! Sull'utilizzo delle procedure e dei wizard di tale programma ti dovrebbe rispondere qualcuno + ferrato di me in materia.

    Io farei cmq così, prima di tutto nel web.config ci metterei:
    codice:
     
    .....
    </system.web>
      <appSettings>
     
        <add key="server" value="62.149.150.19" />
        <add key="uid" value="xxx" />
        <add key="pass" value="xxx" />
        <add key="database" value="Sql55481_1" />
        
      </appSettings>
    
    </configuration>
    e poi mi creerei (magari in una classe da aggiungere in tutte la pag)
    la segg. funzione che mi costruisce la stringa di connessione:

    codice:
     
      using System.Configuration;
    
      .....
    
      public string strConn()
      {
         string sc ="DRIVER={MySQL ODBC 3.51     
         Driver};SERVER=" + ConfigurationSettings.AppSettings["Server"] 
         + ";PORT=3306;DATABASE=" + ConfigurationSettings.AppSettings  
         ["database"] + ";USER=" + ConfigurationSettings.AppSettings["uid"] + "; PASSWORD=" + ConfigurationSettings.AppSettings["pass"] + ";OPTION=3;" 
    
         return sc;
      }
    da usare nel segg. modo:

    codice:
    ...
    
    
    OdbcConnection myConnection = new OdbcConnection(strConn()); 
    
    ...
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  5. #5

    aspetta

    allora aspetta.... forse ho capito il problema...su aruba non è installato il connector ole db per MySQL... infatti la pagina restituisce il seguente errore:

    System.InvalidOperationException: The 'MySQLProv' provider is not registered on the local machine. ---> System.Data.OleDb.OleDbException: No error information available: REGDB_E_CLASSNOTREG(0x80040154).
    --- End of inner exception stack trace ---
    at System.Data.OleDb.OleDbConnection.CreateProviderEr ror(Int32 hr)
    at System.Data.OleDb.OleDbConnection.CreateProvider(O leDbConnectionString constr)
    at System.Data.OleDb.OleDbConnection.Open()
    at DreamweaverCtrls.DataSet.GetConnection(String strConnection)
    at DreamweaverCtrls.DataSet.DoInit()


    Ma dreamweaver lavora con ole db:

    <add key="MM_CONNECTION_HANDLER_connMy" value="default_oledb.htm" />
    <add key="MM_CONNECTION_STRING_connMy" value="Provider=MySQLProv;Data Source=62.149.150.19;Initial Catalog=xxxxxx;User ID=xxxxxx;Password=xxxxxx" />
    <add key="MM_CONNECTION_DATABASETYPE_connMy" value="OleDb" />
    <add key="MM_CONNECTION_SCHEMA_connMy" value="" />
    <add key="MM_CONNECTION_CATALOG_connMy" value="" />

    cambiando la CONNECTION_STRING per ODBC come devo adattare il resto? Inoltre non posso installare nulla sulla directory bin...anche la dll di dreamweaver l'ho dovuta caricare sulla cgi-bin!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  6. #6
    il connector lo metti nella cartella bin del tuo ftp. non è vero che non puoi installare nulla(ci lavoro ad aruba). poi prendi e ti connetti tranquillamente utilizzando il connector.
    consiglio, butta via i tools che ti creano connessioni da soli, scaricati un howto e vedi che non te ne pentirai.

    ciao!

  7. #7

    grazie

    grazie per la risposta...in pratica carico la dll nella cartella cgi-bin? o devo creare una cartella bin sul sito, tipo ftp.nomesito.it/bin?
    E poi ho cercato sul sito MySQL il connector ole DB, però mi ha fatto scaricare un eseguibil che ho installato sul mio pc....ma dove trovo la dll?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  8. #8

    Re: grazie

    Originariamente inviato da iadream
    grazie per la risposta...in pratica carico la dll nella cartella cgi-bin? o devo creare una cartella bin sul sito, tipo ftp.nomesito.it/bin?
    E poi ho cercato sul sito MySQL il connector ole DB, però mi ha fatto scaricare un eseguibil che ho installato sul mio pc....ma dove trovo la dll?
    C:\Programmi\MySQL\MySQL Connector Net 1.0.4\bin\.NET 1.1

    "1.0.4" potrebbe variare non so a che versione siamo adesso.

    secondo me devi creare la cartella bin
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  9. #9

    niente

    niente è impossibile.... perchè dreamweaver carica una dll proprietaria che lavora con l strutture ole db.... ma il connector ole db deve essere installato sul server! Rinuncerò e resterò con ASP!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  10. #10
    Non ti arrendere ma, come dice giustamente Jc_ lascia perdere i wizard di DW. Fatti la connessione a manina con il sistema che ti ho fatto vedere. Se non puoi o non riesci ad usare dei connector, puoi sempre usare Odbc.OdbcConnection che è cmq incluso nel Framework 1.1 (assieme ad OleDb e SqlClient).
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.