Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent
    [Débutant] Se connecter à SQL Server et exécuter des requêtes
    Bonjour,

    Je souhaite me former à TypeScript.
    J'ai suivi ce tuto : https://www.tutorialspoint.com/types...ript/index.htm

    Il a le gros avantage de "partir de rien", et rester avec TypeScript pur, sans reposer sur des modules externes qui font qu'on ne sait plus qui est TypeScript et qui ne l'est pas.

    En revanche, il ne va pas plus loin, et je bloque pour passer à l'étape suivante.

    J'ai donc installé nodejs te typescript sur une VM Ubuntu 20.04
    Les exemples du tuto fonctionnent bien.

    J'ai installé SQL Server, et là je bloque, car je ne trouve pas faire tomber tout ça en marche.
    https://www.npmjs.com/package/mssql

    J'ai tenté d'installer les modules "mssql" et "@types/mssql", ainsi que "@types/node" pour corriger un message d'erreur à la compilation.
    Code typescript :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    const sql = require('mssql')
     
    async () => {
        try {
            // make sure that any items are correctly URL encoded in the connection string
            await sql.connect('mssql://login:password@localhost/sandbox')
            const result = await sql.query`select * from test`
            console.dir(result)
        } catch (err) {
            // ... error checks
        }
    }


    Ca compile, mais ça marche pas
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    moi@machine:~/share/testsql$ tsc test.ts
    moi@machine:~/share/testsql$ node test.js
    internal/modules/cjs/loader.js:638
        throw err;
        ^
     
    Error: Cannot find module 'mssql'
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
        at Function.Module._load (internal/modules/cjs/loader.js:562:25)
        at Module.require (internal/modules/cjs/loader.js:692:17)
        at require (internal/modules/cjs/helpers.js:25:18)
        at Object.<anonymous> (/home/sylvain/share/testsql/test.js:42:11)
        at Module._compile (internal/modules/cjs/loader.js:778:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
        at Module.load (internal/modules/cjs/loader.js:653:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
        at Function.Module._load (internal/modules/cjs/loader.js:585:3)


    J'imagine qu'il faut déclarer "mssql" quelque part, mais je pige pas où...
    On ne jouit bien que de ce qu’on partage.

  2. #2
    Expert éminent
    Ouh là ça commence à me plaire cette histoire...

    Je réinstalle mssql et maintenant ça plante plus (mais ça fait rien, j'imagine que "console.dir()" n'est pas compatible avec une application console).

    Quoi que non... avec des console.log ça marche pas mieux...

    lol

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    const sql = require('mssql')
     
    async () => {
        try {
            // make sure that any items are correctly URL encoded in the connection string
            await sql.connect('mssql://login:password@localhost/sandbox')
            const result = await sql.query`select * from test`
            console.log("youhhou!")
            console.dir(result)
        } catch (err) {
            // ... error checks
            console.log("planté")
            console.dir(err)
        }
    }
     
    console.log("euh...")

    Ca n'affiche que "euh..."
    Il ne fait pas la méthode async...

    C'est lourd...

    -- Edit : bon, en nommant l'expression lambda, et en l'appelant à la main, ça marche !

    Sauf qu'après faut faire ctrl+c pour sortir, mais bon... on va dire qu'on n'est plus à ça près...
    On ne jouit bien que de ce qu’on partage.