begin process at 2013 05 25 08:02:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

 > COBOL TO SQL

COBOL TO SQL


 Information sur la source

Note :
Aucune note
Catégorie :.NET Source .NET ( DotNet ) Classé sous :cobol, sql, linq, class Niveau :Expert Date de création :04/09/2012 Vu / téléchargé :1 724 / 50

Auteur : bir

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
ce programme permet de convertir la descriptions des fichiers de données dans cobol vers le langage SQL afin de pouvoir charger directement les données de l'application Cobol dans une base de donnés SQL SERVER.
Il faut noter que les données des fichiers dans cobol n'ont pas de délimiteur.

Source

  • using System;
  • using System.Collections.Generic;
  • using System.Linq;
  • using System.Text;
  • namespace SIC_SQL
  • {
  • public class Stype
  • {
  • private string entree { get; set; }
  • private int valeur;
  • public int Valeur
  • {
  • get
  • {
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XX\.)").Groups[1].Success) { return 2; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XXX\.)").Groups[1].Success) { return 3; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC X\.)").Groups[1].Success) { return 1; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V99\.)").Groups[1].Success) { return 1; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V99\.)").Groups[1].Success) { return 2; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V9\.)").Groups[1].Success) { return 1; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V9\.)").Groups[1].Success) { return 2; }
  • else
  • {
  • try
  • {
  • return int.Parse(System.Text.RegularExpressions.Regex.Match(entree, @"\(([^)]*)\)").Groups[1].Value.ToString());
  • }
  • catch (Exception)
  • {
  • return 0;
  • }
  • }
  • }
  • set { valeur = value; }
  • }
  • private int mantisse;
  • public int Mantisse
  • {
  • get
  • {
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V99\.)").Groups[1].Success) { return 2; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V99\.)").Groups[1].Success) { return 2; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V9\.)").Groups[1].Success) { return 1; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V9\.)").Groups[1].Success) { return 1; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V99\.)").Groups[1].Success) { return 2; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9\.)").Groups[1].Success) { return 1; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9(3).)").Groups[1].Success) { return 3; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9(4).)").Groups[1].Success) { return 4; }
  • else
  • {
  • try
  • {
  • return int.Parse(System.Text.RegularExpressions.Regex.Match(entree, @"V9\(([^)]*)\)\.").Groups[1].Value.ToString());
  • }
  • catch
  • {
  • return 0;
  • }
  • }
  • }
  • set { mantisse = value; }
  • }
  • public string get_numeric()
  • {
  • switch (Valeur)
  • {
  • case 1: { return "tinyint"; }
  • case 2: { return "smallint"; }
  • case 3: { return "int"; }
  • case 4: { return "int"; }
  • case 5: { return "bigint"; }
  • case 6: { return "bigint"; }
  • case 7: { return "bigint"; }
  • case 8: { return "bigint"; }
  • default: { return "numeric(" + Valeur + ")"; }
  • }
  • }
  • public int getTotal()
  • {
  • return Valeur + Mantisse;
  • }
  • private string Get_Type()
  • {
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+X\()").Groups[1].Success) { return "varchar(" + Valeur + ")"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V99\.)").Groups[1].Success) { return "numeric(1,2)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V99\.)").Groups[1].Success) { return "numeric(2,2)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V9\.)").Groups[1].Success) { return "numeric(1,1)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V9\.)").Groups[1].Success) { return "numeric(2,1)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V99\.)").Groups[1].Success) { return "numeric(" + Valeur + ",2)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9\.)").Groups[1].Success) { return "numeric(" + Valeur + ",1)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)\.)").Groups[1].Success) { return get_numeric(); }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9\(\d+\)\.)").Groups[1].Success) { return "numeric(" + Valeur + "," + Mantisse + ")"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XX\.)").Groups[1].Success) { return "varchar(2)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XXX\.)").Groups[1].Success) { return "varchar(3)"; }
  • if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC X\.)").Groups[1].Success) { return "varchar(1)"; }
  • else
  • {
  • return "";
  • }
  • }
  • public string SQLType()
  • {
  • string _type = Get_Type();
  • if (_type == "numeric(3,4)") { return "float(7)"; }
  • else return _type;
  • }
  • public Stype(string val_entree)
  • {
  • entree = val_entree;
  • }
  • public Stype()
  • {
  • // TODO: Complete member initialization
  • }
  • }
  • }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIC_SQL
{
    public class Stype
    {
        private string entree { get; set; }

        private int valeur;

        public int Valeur
        {
            get
            {
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XX\.)").Groups[1].Success) { return 2; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XXX\.)").Groups[1].Success) { return 3; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC X\.)").Groups[1].Success) { return 1; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V99\.)").Groups[1].Success) { return 1; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V99\.)").Groups[1].Success) { return 2; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V9\.)").Groups[1].Success) { return 1; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V9\.)").Groups[1].Success) { return 2; }
                else
                {
                    try
                    {
                        return int.Parse(System.Text.RegularExpressions.Regex.Match(entree, @"\(([^)]*)\)").Groups[1].Value.ToString());
                    }
                    catch (Exception)
                    {

                        return 0;
                    }
                }
            }
            set { valeur = value; }
        }

        private int mantisse;

        public int Mantisse
        {
            get
            {
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V99\.)").Groups[1].Success) { return 2; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V99\.)").Groups[1].Success) { return 2; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V9\.)").Groups[1].Success) { return 1; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V9\.)").Groups[1].Success) { return 1; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V99\.)").Groups[1].Success) { return 2; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9\.)").Groups[1].Success) { return 1; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9(3).)").Groups[1].Success) { return 3; }
                if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9(4).)").Groups[1].Success) { return 4; }
                else
                {
                    try
                    {
                        return int.Parse(System.Text.RegularExpressions.Regex.Match(entree, @"V9\(([^)]*)\)\.").Groups[1].Value.ToString());
                    }
                    catch
                    {
                        return 0;
                    }
                }
            }
            set { mantisse = value; }
        }

        public string get_numeric()
        {

            switch (Valeur)
            {
                case 1: { return "tinyint"; }
                case 2: { return "smallint"; }
                case 3: { return "int"; }
                case 4: { return "int"; }
                case 5: { return "bigint"; }
                case 6: { return "bigint"; }
                case 7: { return "bigint"; }
                case 8: { return "bigint"; }
                default: { return "numeric(" + Valeur + ")"; }

            }
        }
        public int getTotal()
        {
            return Valeur + Mantisse;
        }

        private string Get_Type()
        {

            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+X\()").Groups[1].Success) { return "varchar(" + Valeur + ")"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V99\.)").Groups[1].Success) { return "numeric(1,2)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V99\.)").Groups[1].Success) { return "numeric(2,2)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9V9\.)").Groups[1].Success) { return "numeric(1,1)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*99V9\.)").Groups[1].Success) { return "numeric(2,1)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V99\.)").Groups[1].Success) { return "numeric(" + Valeur + ",2)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9\.)").Groups[1].Success) { return "numeric(" + Valeur + ",1)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)\.)").Groups[1].Success) { return get_numeric(); }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC\s+[Ss]*9\(\d+\)V9\(\d+\)\.)").Groups[1].Success) { return "numeric(" + Valeur + "," + Mantisse + ")"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XX\.)").Groups[1].Success) { return "varchar(2)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC XXX\.)").Groups[1].Success) { return "varchar(3)"; }
            if (System.Text.RegularExpressions.Regex.Match(entree, @"(PIC X\.)").Groups[1].Success) { return "varchar(1)"; }
            else
            {
                return "";
            }

        }
        public string SQLType()
        {
            string _type = Get_Type();
            if (_type == "numeric(3,4)") { return "float(7)"; }
            else return _type;
        }

        public Stype(string val_entree)
        {
            entree = val_entree;
        }

        public Stype()
        {
            // TODO: Complete member initialization
        }

    }
}

 Conclusion

ce programme m'a permis de charger les données qui se trouvaient dans notre DPS7000 dans SQL SERVER en respectant la dentition des données, leur type et leur taille.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

UTILISER LA SOURIS POUR SCROLLER MON FLOWLAYOUTPANEL par SamsonB
Source .NET (Dotnet) APPEL C DEPUIS C# / APPEL C# DEPUIS C par Moomoon07
Source avec Zip Source .NET (Dotnet) UN PETIT LOGICIEL DE VISUALISATION DE PHOTO par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PROBLÈME DU SAC À DOS : RÉSOLUTION PAR MINIMISATION par olivieram2
Source avec Zip Source avec une capture Source .NET (Dotnet) RESOLVER DU JEUX DE L'EMISSION DES CHIFFRES ET DES LETTRES D... par rabixpvb

 Sources en rapport avec celle ci

Source .NET (Dotnet) ENTITY FRAMEWORK - AVOIR UN INCLUDE TYPÉ par jesusonline
Source avec Zip Source .NET (Dotnet) CRYSTALREPORT C# SQLSERVER par badis1996
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET3.5] SYSTEM.IO.PIPES - UTILISATION D'UN CANAL NOMMÉ par Willi
Source avec Zip Source avec une capture Source .NET (Dotnet) HOOK CLAVIER EN C# par shadow1779
Source avec Zip Source .NET (Dotnet) ARBRE (TREE) - STRUCTURES D'ARBRES GÉNÉRIQUES par ricklekebekoi

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

[debutant]progressBar [ par maxvador ] Salut à tous,Voila ce que je dois faire:J'ai une class graphic (herité de form) et une autre class qui fait un traitement SQL assez long. Je voudrais Filtre sur une association en linq to sql [ par SharpMao ] Salut à vous tous,J'ai un petit problème en linq to sql.J'ai deux tables qui sont reliées, A->B. Mais en plus de l'association sur la clé primaire, Linq to sql [ par laymouna98 ] salutj'ai fait un pteit exemple avec linq et sql servermaintenent je veut bien changer la base de données au lieu de sql server en oracleest ce que je Linq To Sql [ par 24 ans ] Salut tous le mondeJ ai un petit soucis qui est le suivant :Probleme de fusion de deux Table en une seul table linqvoici le code que j ai ecrit:Dal d1 LINQ to SQL / ENTITIES [ par Kikuts ] Bonjour ! Alors voilà je suis en train de monter un Web Service pour que mes composants silverlight (xaml) puissent être "binder" ou bien récupérer de LINQ TO - type retour données [ par Kikuts ] Bonjour à vous amis développeurs ! Je suis en train de créer un service web. Dans ce service, j'y code des requêtes LINQ. Avant de poser ma question modification dans un datagrid en utilisant linq to sql [ par jihedines ] Bonjour à tous, j'utilise le datagrid pour afficher les données à l'aide de linq to sql sauf ke g un pb au niveau de la modification ,j'arrive pas à m Linq to Sql, problème de maj avec paramètre [ par Achm ] Bonjour ! J'ai un petit souci pour mettre à jours mes données : J'ai une fonction : [code=cs]public void UpdateData(Guid id, string nom) { ADO.NET, Linq to SQL, entity framework ? Que choisir? je m'y perds, besoin d'explications... [ par Mgiv64 ] Bonjour à tous, Je développe occasionnellement en C# depuis quelques années. Jusqu'à présent je n'avais pas beaucoup besoin d'avoir recours à des ba linq to sql [ par casa_sniper ] Bonjour j'ai un probleme concernnant l'access via linq to sql je dois alimenter une gridview par plusieurs tables (utilisateurs ,profil ,magasin)qui


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales