Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2020-03-31T16:26:04+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Faire des requêtes à plusieurs bases de données, message #2180322020-03-31T16:26:04+02:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/13834/faire-des-requetes-a-plusieurs-bases-de-donnees/?page=1#p218032<p>Bonjour !</p>
<p>J’utilise AdonisJS et MSSQL. J’ai quelques base de données sur le même serveur, les voici :</p>
<p><img src="https://i.imgur.com/d4Eqfpt.png"></p>
<p>Voici la configuration de la db dans mon .env :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-ini"><span class="hljs-attr">DB_CONNECTION</span>=mssql
<span class="hljs-attr">DB_HOST</span>=<span class="hljs-number">127.0</span>.<span class="hljs-number">0.1</span>
<span class="hljs-attr">DB_PORT</span>=<span class="hljs-number">1433</span>
<span class="hljs-attr">DB_USER</span>=sa
<span class="hljs-attr">DB_PASSWORD</span>=<span class="hljs-number">123456</span>
<span class="hljs-attr">DB_DATABASE</span>=WEB_PANEL
</code></pre></div>
<p>Le problème est que, j’ai ma propre API pour faire les requêtes que je veux comme cela :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-js">connectToDatabase(<span class="hljs-string">'mssql://id:pw@localhost'</span>).then(<span class="hljs-keyword">async</span> () => {
<span class="hljs-keyword">let</span> onlinePlayers = <span class="hljs-keyword">await</span> User.getOnlinePlayers()
<span class="hljs-keyword">let</span> numberOfStaff = staff.length
<span class="hljs-keyword">let</span> numberOfOnlinePlayers = onlinePlayers.recordset.length
<span class="hljs-keyword">return</span> view.render(<span class="hljs-string">'system.index'</span>, { <span class="hljs-attr">totalPlayers</span>: numberOfOnlinePlayers, <span class="hljs-attr">numberOfStaff</span>: numberOfStaff })
})
}
</code></pre></div>
<p>Mais si je fais ça, j’ai cette erreur :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-taggerscript">warning:
warning:
WARNING: Adonis has detected an unhandled promise rejection, which may
cause undesired behavior in production.
To stop this warning, use catch() on promises or wrap await
calls inside try/catch.
TypeError: Cannot read property 'substr' of null
at parseConnectionURI (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\c</span>onnectionstring.js:21:32)
at Object.resolveConnectionString [as resolve] (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\c</span>onnectionstring.js:205:72)
at new ConnectionPool (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\b</span>ase.js:127:40)
at new ConnectionPool (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\t</span>edious.js:175:1)
at Object.connect (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\m</span>ssql<span class="hljs-symbol">\l</span>ib<span class="hljs-symbol">\b</span>ase.js:1592:22)
at connectToDatabase (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\d</span>rapi<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\c</span>ore<span class="hljs-symbol">\c</span>onnection.handler.js:4:15)
at SystemController.showSystemPage (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\a</span>pp<span class="hljs-symbol">\C</span>ontrollers<span class="hljs-symbol">\H</span>ttp<span class="hljs-symbol">\P</span>anel<span class="hljs-symbol">\S</span>ystemController.js:8:9)
at Server._routeHandler (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\f</span>ramework<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\S</span>erver<span class="hljs-symbol">\i</span>ndex.js:121:31)
at MiddlewareBase._resolveMiddleware (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\m</span>iddleware-base<span class="hljs-symbol">\i</span>ndex.js:195:28)
at Runnable._invoke (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\c</span>o-compose<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\R</span>unnable.js:76:42)
at C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\c</span>o-compose<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\R</span>unnable.js:73:34
at f (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\o</span>nce<span class="hljs-symbol">\o</span>nce.js:25:25)
at Authenticated.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\a</span>pp<span class="hljs-symbol">\M</span>iddleware<span class="hljs-symbol">\A</span>uthenticated.js:16:19)
at async ConvertEmptyStringsToNull.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\a</span>pp<span class="hljs-symbol">\M</span>iddleware<span class="hljs-symbol">\C</span>onvertEmptyStringsToNull.js:13:5)
at async AuthInit.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\a</span>uth<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\M</span>iddleware<span class="hljs-symbol">\A</span>uthInit.js:60:5)
at async Shield.handle (C:<span class="hljs-symbol">\U</span>sers<span class="hljs-symbol">\d</span>idi<span class="hljs-symbol">\D</span>esktop<span class="hljs-symbol">\d</span>rpanel<span class="hljs-symbol">\p</span>anel<span class="hljs-symbol">\n</span>ode_modules<span class="hljs-symbol">\@</span>adonisjs<span class="hljs-symbol">\s</span>hield<span class="hljs-symbol">\s</span>rc<span class="hljs-symbol">\S</span>hield<span class="hljs-symbol">\i</span>ndex.js:417:5)
</code></pre></div>
<p>Pour getOnlinePlayers, le code est le suivant :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-js"> <span class="hljs-keyword">static</span> <span class="hljs-keyword">async</span> getOnlinePlayers() {
<span class="hljs-keyword">let</span> onlinePlayers = <span class="hljs-keyword">await</span> sql.query<span class="hljs-string">`
USE DR2_USER
SELECT TOP 10 * FROM TB_CharacterSub
WHERE f_ConnectionChannel != 0`</span>
<span class="hljs-keyword">return</span> onlinePlayers
}
</code></pre></div>
<p>En l’occurrence ici j’aimerais utiliser la base de donnée <code>DR2_USER</code> mais je ne peux pas :/
Quelqu’un aurait une solution svp ?</p>
<p>Merci !</p>Adonisjs, message #1972642019-01-14T19:03:50+01:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/11958/adonisjs/?page=1#p197264<p><a href="https://adonisjs.com/docs/4.1/query-builder#_where_clauses">https://adonisjs.com/docs/4.1/query-builder#_where_clauses</a> ?</p>Adonisjs, message #1972622019-01-14T18:57:08+01:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/11958/adonisjs/?page=1#p197262<p>Par exemple pour le report n°26 j’aimerais juste avoir la raison de <strong>ce</strong> report et pas la raison de tout les reports, je vois pas ce que tu comprends pas :thinkin:g, désolé :/</p>Adonisjs, message #1972142019-01-14T07:41:26+01:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/11958/adonisjs/?page=1#p197214<p>Ta réponse n’est pas suffisamment bien détaillée pour qu’on puisse te répondre <img src="/static/smileys/clin.png" alt=";)" class="smiley"></p>Adonisjs, message #1971732019-01-13T20:13:41+01:00nevgupobo/@nevgupobohttps://zestedesavoir.com/forums/sujet/11958/adonisjs/?page=1#p197173<p>Bonjour,</p>
<p>J’utilise le framework AdonisJS, mais j’ai rencontré un problème, le voici :</p>
<p>J’ai une page de report, lorsque le report est envoyé, ça va dans la db, voilà ce que ça donne :
<img src="https://cdn.discordapp.com/attachments/482628393448243231/534077887335366668/unknown.png" alt="Image utilisateur"></p>
<p>Ensuite, je récupère tout les report dans une route :
<img src="https://cdn.discordapp.com/attachments/482628393448243231/534077991991640064/unknown.png" alt="Image utilisateur"></p>
<p>Cependant, lorsque je clique sur un pseudo, par exemple le pseudo du report n°26, j’ai toutes les raisons de report tout les id :</p>
<p><a href="https://cdn.discordapp.com/attachments/482628393448243231/534078239803703318/unknown.png">https://cdn.discordapp.com/attachments/482628393448243231/534078239803703318/unknown.png</a>
Hors, moi, je veux seulement le report associé à un id
Par exemple quand l’url c’est /panel/show/26 je veux avoir la raison du report n°26</p>
<p>Comment faire svp ?</p>
<p>Merci et bonne soirée.</p>