non ho installato mysql connector..
come vedo se ho l'accesso diretto???
in pratica devo fare un programma che prelevi dei dati provenienti da un db sql server in rete lan con il pc su cui girerà il mio programmino e li porti in automatico a un database access che è quello di un sito web.. il problema è che ho creato le funzioni per eseguire le mie query per access ( operando su un db access che ho in locale per fare delle prove ) pensando che sarebbe bastato modificare la stringa di connessione (oledb connection per access) per potermi connettere al db access su internet, poi mi sono reso conto che access non permette una cosa del genere mentre mysql dovrebbe permetterlo.. non posso modificare il sito web, quindi non posso cambiare il tipo di database che utilizza.. per risolvere avevo pensato di fare un passagio in + e portare i dati a un bd mysql sempre su internet e poi fare un'ulteriore applicazione (in asp) che porta i dati dal db mysql a access, cosa possibile dato che si troverebbero entrambi su internet..
O.O la vedo una cosa estremamente problematica... vorrei almeno evitare di rifarmi le funzioni ,già utilizzabili per access in locale e sql server, ( passo una stringa di connessione alle funzioni piuttosto che un'altra per operare su l'uno o l'altro db ) per usarle con mysql..
le funzioni sono queste:
Codice PHP:
//-------------------esegue query senza report in textbox---------------------
public int eseguiQuery(String query, String connString)
{
try
{
string sConn = connString;
Conn.ConnectionString = sConn;
Conn.Open();
Cmd.CommandText = query;
Cmd.CommandType = CommandType.Text;
Cmd.Connection = Conn;
int records=Cmd.ExecuteNonQuery();
Conn.Close();
return records;
}
catch (System.Exception e)
{
System.Console.WriteLine(e.Message);
MessageBox.Show(e.Message, "Eccezione");
return -1;
}
finally
{
Conn.Close();
}
}
//------------------------------------------------------------------------------
//-------------------esegue query con report in textbox-------------------------
public void eseguiQuery(String query, String connString, TextBox report)
{
try
{
string sConn = connString;
Conn.ConnectionString = sConn;
Conn.Open();
Cmd.CommandText = query;
Cmd.CommandType = CommandType.Text;
Cmd.Connection = Conn;
int records = Cmd.ExecuteNonQuery();
Conn.Close();
report.Text = report.Text + "---> " + query + "\r\n";
}
catch (System.Exception e)
{
System.Console.WriteLine(e.Message);
MessageBox.Show(e.Message, "Eccezione");
report.Text = report.Text + " -ATTENZIONE- " + e.Message + "\r\n";
}
finally
{
Conn.Close();
}
}
//------------------------------------------------------------------------------
//------------------esegue select e restituisce un data table-------------------
public DataTable eseguiSelect(String query, String connString)
{
string sConn = connString;
try
{
Conn.ConnectionString = sConn;
Conn.Open();
Cmd.CommandText = query;
Cmd.CommandType = CommandType.Text;
Cmd.Connection = Conn;
Table = new DataTable("temp");
ds.Tables.Add(Table);
Adptr.SelectCommand = Cmd;
Adptr.Fill(Table);
/*int recordsAffected = Adptr.Fill(Table);
if (recordsAffected > 0)
{
foreach (DataRow dr in Table.Rows)
{
System.Console.WriteLine(dr[0]);
}
}*/
return Table;
}
catch (System.Exception e)
{
MessageBox.Show(e.Message, "");
return null;
}
finally
{
Conn.Close();
}
}
//-----------------------------------------------------------------------------
public void createTableDataSet(string tabella, DataGridView dataGridView, String connString)
{
try
{
string sConn = connString;
string SQL = "SELECT * FROM " + tabella;
this.dataGridView = dataGridView;
Conn.ConnectionString = sConn;
Conn.Open();
Cmd.CommandText = SQL;
Cmd.CommandType = CommandType.Text;
Cmd.Connection = Conn;
Table = new DataTable(tabella);
ds.Tables.Add(Table);
Adptr.SelectCommand = Cmd;
Adptr.Fill(Table);
Conn.Close();
dataGridView.DataMember = tabella;
dataGridView.DataSource = ds;
dataGridView.Columns["id"].Visible = false;
}
catch (System.Exception e) {
System.Console.WriteLine(e.Message);
}
finally
{
Conn.Close();
}
}
public void salvaGriglia()
{
for (int i = 0; i < dataGridView.RowCount; i++)
{
System.Console.WriteLine("!");
}
}
Ho pensato che stabilendo una oledb connection con mysql potrei passare la stringa di connessione per mysql alle funzioni e usare sempre le stesse come faccio già con sqlserver e access in locale
il problema è come???
Grazie 1000
p.s
il problema vel'ho spiegato per bene se c sono altre strade + semplici per risolverlo ve ne sarei grato..