Microsoft Azuren SQL tietokantaan yhdistäminen.

Liittynyt
17.10.2016
Viestejä
486
Moikka. Projektissa olisi aika siirtyä käyttämään jotain muuta kuin omaa serveriviritystä ja Azure tuntuu parhaimmalta ratkaisulta. Kävin tekemässä ilmaisen kokeilutilin ja sinne loin tietokannan. Ongelmana ollut tietokantaan yhdistäminen. Kuvassa näkyy omia asetuksia.

Olen laittanut tuohon palomuuriin oman ulkoisen IP:n ja varmuuden vuoksi vielä sisäisenkin IP:n, jotta mitään ei ainakaan estyisi.

Tämän jälkeen kokeilin vaihtaa yhdistämisparametrit Node.JS ohjelmaan. Alussa koitin yhdistää näin:

Koodi:
let TryConnect = (callback) =>
{
    const connection = mysql.createConnection({
    host: 'XXXX.database.windows.net',
    user: 'XXXX',
    password: 'XXXX',
    database: 'VirRake'
    });
  
    connection.connect((err) => {
        if (err) {
            callback("Cannot connect to database");
        } else {
            callback(undefined, connection);
        }
    });
};
Tulee virhe: 'Cannot connect to Database'. err virheessä lukee:
Koodi:
  'code: 'UNKNOWN_CODE_PLEASE_REPORT',
  errno: 9002,
  sqlMessage:
   'The connection string may not be right. Please visit portal for references.\u0000',
  sqlState: '28000',
  fatal: true }'

Mistä tuota connection stringia voi muuttaa tai mitä sille pitää tehdä?


Tämän jälkeen kävin hakemassa netistä koodia, jonka avulla noden pitäisi ainakin yhdistää:
Koodi:
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;

// Create connection to database
var config =
   {
     userName: 'XXXX', // update me
     password: 'XXXX', // update me
     server: 'XXXX.database.windows.net', // update me
     options:
        {
           database: 'defects' //update me
           , encrypt: true
        }
   }
var connection = new Connection(config);

// Attempt to connect and execute queries if connection goes through
connection.on('connect', function(err)
   {
     if (err)
       {
          console.log(err)
       }
    else
       {
           console.log("Connected")
       }
   }
 );

Tulee kuitenkin virhe:
message: 'Login failed for user \'XXXX\'.',
code: 'ELOGIN' }

ongelma.png
 
Ei oo tuo NodeJS niin hallussa, mutta tuo ensimmäinen nyt vähän näyttäisi siltä että sulla on SQL-serveri eikä MySQL-serveri, ja yrität ottaa siihen yhteyttä MySQL-connectorilla...

Tuo jälkimmäinen näyttää jo fiksummalta yritykseltä. Käytäthän siinä niitä SQL Serverin luontivaiheessa määrittämiäsi admin-tunnuksia etkä omia Azure-tunnuksiasi tms.?
 
Viimeksi muokattu:
Ei oo tuo NodeJS niin hallussa, mutta tuo ensimmäinen nyt vähän näyttäisi siltä että sulla on SQL-serveri eikä MySQL-serveri, ja yrität ottaa siihen yhteyttä MySQL-connectorilla...

Tuo jälkimmäinen näyttää jo fiksummalta yritykseltä. Käytäthän siinä niitä SQL Serverin luontivaiheessa määrittämiäsi admin-tunnuksia etkä omia Azure-tunnuksiasi tms.?
Joo käytän noita mitä määritin SQL servun luontivaiheessa. Totta muuten, tuo ensimmäinen on MySQL. En ajatellut, että toiminnassa olisi eroa. Outoa tosin kun tuo toinen yrityskään ei tuota tulosta. Eikä tuo virhe sano muuta kuin Login failed for user. Hmm.
 
Joo käytän noita mitä määritin SQL servun luontivaiheessa. Totta muuten, tuo ensimmäinen on MySQL. En ajatellut, että toiminnassa olisi eroa. Outoa tosin kun tuo toinen yrityskään ei tuota tulosta. Eikä tuo virhe sano muuta kuin Login failed for user. Hmm.

Voi emätinmunaus! lol. Olin laittanut tuohon Database kohtaan TAULUN nimen. Ongelma selvisi kun loin varmuuden vuoksi toisen tietokannan ja aloin katsomaan, että mitä hittoa olen tehnyt. Harmi vain kun koodit menee sitten uusiksi kun ne on tehty MySql mielessä... Azuren MySql taas maksaa moninkertaisesti enemmän kuin pelkkä sql.

Kiitos kun sanoit, että ne on eri asiat. Olisin ihmetellyt maailman tappiin asti.
 

Statistiikka

Viestiketjuista
261 839
Viestejä
4 548 821
Jäsenet
74 852
Uusin jäsen
eirich

Hinta.fi

Back
Ylös Bottom