J'ai développé cette petite application pour mettre à jour une base distante SQLServer
Le principe est simple. On saisie la chaine de connexion, on sélectionne les tables à exporter et on obtient des scripts SQL d'insertion.
Voila c'est du rapide et ça demande a être amélioré mais faute de temps pour l'instant...
Cette application utilise une petite lib que j'avais développé auparavant, pour accéder à la structure des bases SQLServer 2000, non tésté sur 2005
Source / Exemple :
(tout est dans le zip)
Conclusion :
Pour l'instant je n'ai pas trouvé du bug et cela fonctionne sur toutes les bases que j'ai testé
Si vous la faite évoluer, merci de me prevenir, je la mettrai en ligne en vous citant.
10 janv. 2007 à 22:48
11 janv. 2007 à 10:03
Il fait plutot le point entre un DataSet et la base en utilisant des objets Connection et Commands.
La différence entre le DataAdapter et cette source :
- elle ne fait que générer des scripts SQL INSERT INTO (avec gestion du RollBack et du compteur Auto)
- elle est utilisable par d'autre personne que les développeurs (car c'est une appli et non un composant)
- elle se basse sur une lib qui permet d'accéder à toute la structure d'une base SQLServer (c'est le gros intéret de cette source)
9 févr. 2007 à 03:51
Ton appli est superbe, ça ma beaucoup servi, car je cherchais une maniere d'acceder a la base comment etant un user. Mais du moment où j'ai voulu le faire en asp.net ça n marche pas, il me retourne une erreur : " La propriété ConnectionString n'a pas été initialisée. : System.InvalidOperationException " .
Voila ce que le code :
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using DSTableAdapters;
public partial class _Default : System.Web.UI.Page
{
ArticleTableAdapter art = new ArticleTableAdapter();
private SqlConnection _oSqlConnection ;
private void showError(Exception ex)
{
TResult.Text= ex.Message+" : "+ ex.GetType();
}
private void LoadData()
{
try
{
this._oSqlConnection.Open();
TResult.Text= "ça marche ";
GridView.DataSource = art.GetData();
GridView.DataBind();
}
catch (Exception ex)
{
this.showError(ex);
}
}
private void Page_Load(object sender, EventArgs e)
{
TConnect.Text = ""server=127.0.0.1;database=regexdb;user id=sa;password=fst"";
}
protected void BConnect_Click(object sender, EventArgs e)
{
try
{
this._oSqlConnection = new SqlConnection(this.TConnect.Text.Trim());
this.LoadData();
}
catch (Exception ex)
{
this.showError(ex);
}
}
}
Est ce que tu as une idee ?
Et merci encore ..
9 févr. 2007 à 05:29
this._oSqlConnection = new SqlConnection("server=127.0.0.1;database="+db+";user id="+tu+";password="+tp+"");
(les variables sont les valeurs des champs textes)
donc est ce que je pourrais deduir que la methode trim() ne marche pas comme je le prevoyais en asp.net ?
12 févr. 2007 à 03:31
Une prochaine fois, pose ta question sur le forum, tu auras plus de chance d'avoir une réponse.
Sinon je suis heureux que ce code te serve car j'ai bien l'impression que tu es le seul, vu le nombre de commentaire :(
A+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.