Tedious: SQL 2014 рдХреЗ рд▓рд┐рдП Windows рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдорд╕реНрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдлрд╝рд░ре░ 2015  ┬╖  28рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: tediousjs/tedious

рдердХрд╛рдК рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдФрд░ SQL рд╕рд░реНрд╡рд░ 2014 рд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдСрде рдХрдиреЗрдХреНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ-

рдердХрд╛рдК рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг: 1.9.0
рдиреЛрдб рд╕рдВрд╕реНрдХрд░рдг 12

// рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрдЕрдк
рд╡рд░ рд╡рд┐рдиреНрдпрд╛рд╕ = {
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо: "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛",
рдкрд╛рд╕рд╡рд░реНрдб: "рдорд╛рдИрдкрд╛рд╕",
рд╕рд░реНрд╡рд░: "рдорд╛рдИрд╕рд░реНрд╡рд░",
рдбреЛрдореЗрди: "рдорд╛рдИрдбреЛрдорд┐рдпрди",
рд╡рд┐рдХрд▓реНрдк: {
рдбреЗрдЯрд╛рдмреЗрд╕: "myDb"
},
рдбрд┐рдмрдЧ: {
рдкреИрдХреЗрдЯ: рд╕рдЪ,
рдбреЗрдЯрд╛: рд╕рдЪ,
рдкреЗрд▓реЛрдб: рд╕рдЪ,
рдЯреЛрдХрди: рд╕рдЪ,
рд▓реЙрдЧ: рд╕рдЪ
}
};

рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ 1433 рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ SQL рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕:
рдбреА:\рд╡рд┐рдХрд╛рд╕\рдиреЛрдб\рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓\index.js:25
рдЧрд▓рддреА рдлреЗрдВрдХреЛ;
^
рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐: рд▓реЙрдЧрд┐рди рд╡рд┐рдлрд▓ред
рд▓реЙрдЧрд┐рди рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рд╕реЗ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдгред
рдкрд╛рд░реНрд╕рд░ рдореЗрдВред
(рдбреА:\рд╡рд┐рдХрд╛рд╕\рдиреЛрдб\рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓\рдиреЛрдб_рдореЙрдбреНрдпреВрд▓\рдердХрд╛рдК\lib\connection.js:447:37)
Parser.emit рдкрд░ (events.js:107:17)
Parser.nextToken рдкрд░
(рдбреА: \ рд╡рд┐рдХрд╛рд╕ \ рдиреЛрдб \ рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓ \ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ \ рдердХрд╛рдК \ lib \ рдЯреЛрдХрди \ рдЯреЛрдХрди-рд╕реНрдЯреНрд░реАрдо-рдкрд╛рд░реНрд╕рд░ред рдЬреЗрдПрд╕: 91:18)
Parser.addBuffer рдкрд░
(рдбреА: \ рд╡рд┐рдХрд╛рд╕ \ рдиреЛрдб \ рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓ \ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ \ рдердХрд╛рдК \ lib \ рдЯреЛрдХрди \ рдЯреЛрдХрди-рд╕реНрдЯреНрд░реАрдо-рдкрд╛рд░реНрд╕рд░ред рдЬреЗрдПрд╕: 68:17)
рдХрдиреЗрдХреНрд╢рди рдкрд░.sendDataToTokenStreamParser
(рдбреА:\рд╡рд┐рдХрд╛рд╕\рдиреЛрдб\рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓\рдиреЛрдб_рдореЙрдбреНрдпреВрд▓\рдердХрд╛рдК\lib\connection.js:879:35)
рдХрдиреЗрдХреНрд╢рди рдкрд░.STATE.SENT_NTLM_RESPONSE.events.data
(рдбреА:\рд╡рд┐рдХрд╛рд╕\рдиреЛрдб\рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓\рдиреЛрдб_рдореЙрдбреНрдпреВрд▓\рдердХрд╛рдК\lib\connection.js:226:23)
Connect.dispatchEvent . рдкрд░
(рдбреА:\рд╡рд┐рдХрд╛рд╕\рдиреЛрдб\рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓\рдиреЛрдб_рдореЙрдбреНрдпреВрд▓\рдердХрд╛рдК\lib\connection.js:742:59)
MessageIO рдкрд░ред
(рдбреА:\рд╡рд┐рдХрд╛рд╕\рдиреЛрдб\рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓\рдиреЛрдб_рдореЙрдбреНрдпреВрд▓\рдердХрд╛рдК\lib\connection.js:670:22)
MessageIO.emit рдкрд░ (events.js:107:17)
MessageIO.eventData . рдкрд░
(рдбреА:\рд╡рд┐рдХрд╛рд╕\рдиреЛрдб\рдиреЛрдб-рдПрд╕рдХреНрдпреВрдПрд▓\рдиреЛрдб_рдореЙрдбреНрдпреВрд▓\рдердХрд╛рдК\lib\message-io.js:56:12)

рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдзрдХреНрдХрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреАред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@arthurschreiber @arobson OMG рдпрд╣ рдЖрдЦрд┐рд░рдХрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ !!! рд╕рдордп рдкрд░ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд▓реЛрдЧреЛрдВ рдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!!! рддреЛ рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдЕрдВрддрд┐рдо рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:

var config = {
    "userName": "user.name",
    "password": "password",
    "server": "servername",
    "domain": "DOMAIN_NAME_CAPITALIZED_AND_NOT_FQDM",
    "options": {
        "encrypt": false
    }
};

рдореИрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ SQL Server 2008 R2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ

рд╕рднреА 28 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдБ, рдореИрдВрдиреЗ рдЬрд┐рди рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ PR'd рдХрд┐рдпрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЬреЛ рдЖрдк рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рдХреБрдЫ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ AD рдкрд░ рд╣рдорд╛рд░реЗ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред рдПрдирдЯреАрдПрд▓рдПрдо рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдирдП рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдПрдирдкреАрдПрдо рдХреЛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рд╕реЗ рдЗрд╕ lib рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ?

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рд╕реЗ рдирд╡реАрдирддрдо рдореЗрдВ рдЦреАрдВрдЪрд╛, рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ npm рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ lib рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ - рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХреЛрдИ рдЦреБрд╢реА рдирд╣реАрдВ рд╣реБрдИред рдЗрд╕реЗ рдХреЙрдлреА 1.9 рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд┐рд╕рдиреЗ рдХреЙрдлреА 1.7 рдХреЛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рдПрдирдкреАрдПрдо рдкрд░ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ - рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░?

рдореИрдВ рдЗрд╕реЗ Azure рдкрд░ SQL Auth рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдСрде рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛, - рдореИрдВрдиреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрд░реЛрдд рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ npm рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЙрдлреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ -

рдХреЙрдлреА рд╕рдВрд╕реНрдХрд░рдг 1.9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП - рд╕реНрд░реЛрдд рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд▓рд╛рдпрд╛ред
Coffee --copile --output lib src рдФрд░ рдлрд┐рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд╛рдореЛрдВ рдХреЛ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕/рдердХрд╛рдК рдореЗрдВ рдЬрдЧрд╣ рджреЗрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдирд╣реАрдВ рдЬрд╛рдирд╛ -

рдХреНрдпрд╛ рдЖрдк 1.10.0 рд░рд┐рд▓реАрдЬ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдердХрд╛рдК рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВрдиреЗ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдХрд╛ рдирд╛рдо рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╡рд╣реА рдорд┐рд▓рддрд╛ рд╣реИ "рд▓реЙрдЧрд┐рди рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рд╕реЗ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред"

рдХреНрдпрд╛ рдбреЛрдореЗрди рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдПрдХ рдРрд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдбреЛрдореЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬреЛ рдбреЛрдореЗрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ? рдореИрдВ Windows 2012 R2 рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдбреЛрдореЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ Ubuntu 14.04 рдЙрджрд╛рд╣рд░рдг рд╕реЗ SQL рд╕рд░реНрд╡рд░ 2014 рдореЗрдВ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@arobson рдПрдХ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк рдЗрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рдереЗ рдФрд░ рдЖрдкрдХреЗ рдкреАрдЖрд░ рдХреЗ рд╡рд┐рд▓рдп рдХреЗ рдмрд╛рдж рдЖрдк рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдердХрд╛рдК рд╕реЗ рдмрд╛рд╣рд░ рдХреБрдЫ рдХрд░рдирд╛ рдерд╛?

рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА рдирд╡реАрдирддрдо рдердХрд╛рдК рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@arthurschreiber рдореИрдВрдиреЗ рдЕрднреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдореИрдВ рдЕрднреА рднреА рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ "рд▓реЙрдЧрд┐рди рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рд╕реЗ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред" рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ред

рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ @arobson рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рдзрд╛рди рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдвреВрдБрдв рд╕рдХрддрд╛ред

рдбреЛрдореЗрди рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ SQL 2014 рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХрд┐рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдкрд░ рдХреЛрдИ рдорджрдж рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

рд╕рд╛рде рд╣реА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИред рдореИрдВ рдПрдХ рдПрд╕рдХреНрдпреВрдПрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реА рдбреАрдмреА рдЯреАрдо рд╕реНрдерд╛рдпреА рдПрд╕рдХреНрдпреВрдПрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧреА, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдСрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпреЗ рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

рд╡рд░ рд╡рд┐рдиреНрдпрд╛рд╕ = {
рд╕рд░реНрд╡рд░: 'рд╕рд░реНрд╡рд░рдирд╛рдо',
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛',
рдкрд╛рд╕рд╡рд░реНрдб: 'рдкрд╛рд╕рд╡рд░реНрдб',
рдбреЛрдореЗрди: 'FQDN.DOMAIN.COM'
, рд╡рд┐рдХрд▓реНрдк: {
рдбрд┐рдмрдЧ: {
рдкреИрдХреЗрдЯ: рд╕рдЪ,
рдбреЗрдЯрд╛: рд╕рдЪ,
рдкреЗрд▓реЛрдб: рд╕рдЪ,
рдЯреЛрдХрди: рдЭреВрдард╛,
рд▓реЙрдЧ: рд╕рдЪ
},
рдбреЗрдЯрд╛рдмреЗрд╕: 'DB_NAME'
}
};

рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд░рд╣реА рд╣реИ:

{ [рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐: рд▓реЙрдЧрд┐рди рд╡рд┐рдлрд▓ред рд▓реЙрдЧрд┐рди рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рд╕реЗ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред]
рдирд╛рдо: 'рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐',
рд╕рдВрджреЗрд╢: 'рд▓реЙрдЧрд┐рди рд╡рд┐рдлрд▓ред рд▓реЙрдЧрд┐рди рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рд╕реЗ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред',
рдХреЛрдб: 'ELOGIN' }
{ [рдЕрдиреБрд░реЛрдз рддреНрд░реБрдЯрд┐: рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рд▓реЙрдЧ рдЗрди рд░рд╛рдЬреНрдп рдореЗрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, SentNTLMResponse рд░рд╛рдЬреНрдп рдирд╣реАрдВ]
рдирд╛рдо: 'рдЕрдиреБрд░реЛрдз рддреНрд░реБрдЯрд┐',
рд╕рдВрджреЗрд╢: 'рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рд▓реЙрдЧ рдЗрди рд░рд╛рдЬреНрдп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, SentNTLMResponse рд░рд╛рдЬреНрдп рдирд╣реАрдВ',
рдХреЛрдб: 'EINVALIDSTATE' }
{ [рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐: рд▓реЙрдЧрд┐рди рд╡рд┐рдлрд▓ред рд▓реЙрдЧрд┐рди рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рд╕реЗ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред]
рдирд╛рдо: 'рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐',
рд╕рдВрджреЗрд╢: 'рд▓реЙрдЧрд┐рди рд╡рд┐рдлрд▓ред рд▓реЙрдЧрд┐рди рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рд╕реЗ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред',
рдХреЛрдб: 'ELOGIN' }
{ [рдЕрдиреБрд░реЛрдз рддреНрд░реБрдЯрд┐: рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рд▓реЙрдЧ рдЗрди рд░рд╛рдЬреНрдп рдореЗрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, SentNTLMResponse рд░рд╛рдЬреНрдп рдирд╣реАрдВ]
рдирд╛рдо: 'рдЕрдиреБрд░реЛрдз рддреНрд░реБрдЯрд┐',
рд╕рдВрджреЗрд╢: 'рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рд▓реЙрдЧ рдЗрди рд░рд╛рдЬреНрдп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, SentNTLMResponse рд░рд╛рдЬреНрдп рдирд╣реАрдВ',
рдХреЛрдб: 'EINVALIDSTATE' }

рдХреНрдпрд╛ рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рдирд╣реАрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ SQL Server 2014 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реЛ рдФрд░ рд╣рдо рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдБ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред

@jgornick @stefanTHD - рдпрд╣рд╛рдБ рдХреБрдЫ рд╡рд┐рдЪрд┐рддреНрд░рддрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рджреЗрдЦреА рд╣реИрдВред NTLM рд╣рдорд╛рд░реЗ рд▓рд┐рдП 2012 рдФрд░ 2014 рдХреЗ рдореБрдХрд╛рдмрд▓реЗ AD рдХреЗ рдмрд╛рд╣рд░ Linux рдмреЙрдХреНрд╕ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╣реБрдд рд╕рдЦреНрдд рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ рдХрдо рд╕реБрд░рдХреНрд╖рд┐рдд NTLM рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд░реЛрдХрддреА рд╣реИрдВред

1 - рдбреЛрдореЗрди рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ FQDN рдХрд╛ рдкреНрд░рдпреЛрдЧ рди рдХрд░реЗрдВред рдЕрдЧрд░ рдпрд╣ "company.com" рд╣реИ, рддреЛ "рдХрдВрдкрдиреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
2 - рдкреВрдВрдЬреАрдХрд░рдг рднреА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рд╣рдореЗрдВ рдСрд▓-рдХреИрдк рдбреЛрдореЗрди рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рд╣реИ
3 - _рдХрд┐рд╕реА рдпреЛрдЧреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ (рдЕрд░реНрдерд╛рдд "[email protected]") рдмрд╕ "user.name"

рдПрдлрд╡рд╛рдИрдЖрдИ

рдПрдирдЯреАрдПрд▓рдПрдо рджрд╕реНрддрд╛рд╡реЗрдЬ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдХреБрдЫ рдмрд╛рдЗрдирд░реА рдЭрдВрдбреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреЛрдХрд┐рдВрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЬреЛ рдбреЙрдХреНрдЯрд░ рдорд┐рд▓рд╛ рд╡рд╣ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреНрдпрд╛ рдереЗред рдореЗрд░реЗ рдкрд╣рд▓реЗ рдкреАрдЖрд░ рдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ SQL рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдХреЗрд╡рд▓ NTLM рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ AD рдХреА рдПрдХ рдиреАрддрд┐ рдереА рдЬрд┐рд╕рдиреЗ NTLM рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рдерд╛ред

рдЕрдЧрд▓реЗ рдХрджрдо

рдпрджрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП 3 рдЯрд┐рдкреНрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╛рдлреА рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдИрд╡рди рд╡реНрдпреВрдЕрд░/рдПрд╕рдХреНрдпреВрдПрд▓ рд▓реЙрдЧреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдлрд▓ рд▓реЙрдЧ рдЗрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВред "рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рд╣реИ рдЬреЛ MSFT рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдХрдард┐рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдЕрдиреБрд░реЛрдз рдХреНрдпреЛрдВ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рдЙрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП Google рдкрд░ рднреА рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп OSS libs рдХреЛ NTLM рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП рд╢рд┐рдХрд╛рдпрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ рддреНрд░реБрдЯрд┐ рднреНрд░рд╛рдордХ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдердХрд╛рдК рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ @arthurschreiber рдХреЗ рд╣рд╛рд▓рд┐рдпрд╛ рдпреЛрдЧрджрд╛рди рдиреЗ рдЗрд╕реЗ рдФрд░ рднреА рдмреЗрд╣рддрд░ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИред

NTLM рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рд╡рд░реНрдгрди Microsoft рдХреЗ MS-NLMP рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдЕрдм рддрдХ рдХрдард┐рди рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИред

@arthurschreiber @arobson OMG рдпрд╣ рдЖрдЦрд┐рд░рдХрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ !!! рд╕рдордп рдкрд░ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд▓реЛрдЧреЛрдВ рдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!!! рддреЛ рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдЕрдВрддрд┐рдо рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:

var config = {
    "userName": "user.name",
    "password": "password",
    "server": "servername",
    "domain": "DOMAIN_NAME_CAPITALIZED_AND_NOT_FQDM",
    "options": {
        "encrypt": false
    }
};

рдореИрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ SQL Server 2008 R2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ

рдардВрдбрд╛! рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдирдЯреАрдПрд▓рдПрдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреЛрдб рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ, рдФрд░ рдореИрдВ рдЬрд▓реНрдж рд╣реА рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛ (рдпрджрд┐ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдорд┐рд▓ рдЬрд╛рдП)ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдбреЛрдореЗрди рдХреЛ рдмрдбрд╝рд╛ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ!

https://github.com/pekim/tedious/pull/367 рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ NTLM рдкреНрд░рдорд╛рдгрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдЪрд░реНрдЪрд╛ рд▓рд┐рдирдХреНрд╕ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реА рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд░реЗрдбрд╣реИрдЯ?

@pisees рд╣рд╛рдВ, рдореИрдВ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рдСрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреЗрдбреЛрд░рд╛ 22 рд╕реЗ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореЗрд░реЗ рдкрд╛рд╕ @NamTThai рдХреЗ рд╕рд╛рде рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, рдФрд░ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрдврд╝рд╛ рдФрд░ рдбреЛрдореЗрди рдХреЛ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред (рд╕рднреА рдХреИрдк рдФрд░ рдбреЛрдореЗрди рдХрд╛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рднрд╛рдЧ, рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рдж рд╡рд╛рд▓реЗ рднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ)

рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд╕рд╛рде рд╣реВрдВ рдФрд░ рдердХрд╛рдК рдореЗрдВ рдХреБрдЫ рдпреЛрдЧрджрд╛рди рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдЕрднреА рднреА рдХреБрдЫ рдмрдХрд╛рдпрд╛ рд╣реИ рдпрд╛ рдпрд╣ рд╕рдм рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ?

@tvrprasad рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдХрд╛рдо рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рд╕рднреА рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред :)

@benzou 8/15 рдХреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ @arobson рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдп-рдЖрд╕рдкрд╛рд╕ рд╣реИ?
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рд╣реЛрдиреЗ рд╕реЗ рдХреМрди рд░реЛрдХ рд░рд╣рд╛ рд╣реИ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХреВрдВ ... рдХрд┐рд╕реА рддрд░рд╣ :)

@tvrprasad рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмреЗрд╣рддрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рд░реЗрдкреЛ рдХреА gh-pages рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдЗрд╕реЗ рдХреЛрдб рдмреЗрд╕ рдХреЗ рдмрд╛рд╣рд░ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрд░рд╛рдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдПрдХ рдбреНрд░реИрдЧ рд╣реИред рдореИрдВ

@tvrprasad - рдЬрдм рд╕реЗ рдореИрдВрдиреЗ NTLM рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИ, рдердХрд╛рдК рдФрд░ рд╣рдорд╛рд░реЗ рд░реЗрдкреЛ рд╕реАрд░рд┐рдпрдЯ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдореБрджреНрджреЗ рд▓рдЧрд╛рддрд╛рд░ рдбреЛрдореЗрди рдХреЗ рд▓реЛрдЕрд░рдХреЗрд╕ рдФрд░/рдпрд╛ FQDN рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдПрдХ рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  1. рдбреЛрдореЗрди рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реИ (рдореБрдЭреЗ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛)
  2. рдбреЛрдореЗрди рдХреЛ . рдкрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдЦрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдирдЯреАрдПрд▓рдПрдо рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдордПрд╕рдПрд╕рдХреНрдпреВрдПрд▓ рдФрд░ рдиреЛрдб рдХреЗ рдкреНрд░рд╢рдВрд╕рдХ рд╣реИрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдирдЯреАрдПрд▓рдПрдо рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдХрдИ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕рдВрдЪрд╛рд▓рди рдЯреАрдо рд╕реЗ рдХреБрдЫ рдорджрдж рдорд┐рд▓ рд╕рдХреЗред рд╕рдВрд╕реНрдХрд░рдг рддрд╛рдХрд┐ рд╣рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛ рд╕рдХреЗрдВред рдХреЛрдИ рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕реБрдзрд╛рд░ рдЬреЛ рдЖрдк рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ 2007 рд╕реЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╢реНрди рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдореИрдВ рдПрдирдЯреАрдПрд▓рдПрдо рдмрд┐рдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред

@arobson - FDQN рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдХреЗрд╡рд▓ рдКрдкрд░реА рдорд╛рдорд▓рд╛ред рдореИрдВрдиреЗ рдЖрд╕рд╛рди рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрд░ рдХреЗрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ - https://github.com/tediousjs/tedious/issues/414ред рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдПрдХ рд╕рд╛рде рд░рдЦреВрдВрдЧрд╛ред рдореИрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдирд┐рдЪрд▓рд╛ рдорд╛рдорд▓рд╛ рдХреНрдпреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@arthurschreiber - рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреАрдЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдмреЗрд╣рддрд░ рд╕рдордЭ рд╣реИред рдпрджрд┐ рдРрд╕реЗ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ рдЬрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдХрдореА рд╣реИ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВрдиреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрд▓рд╛ред рдореИрдВ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред
https://github.com/tediousjs/tedious/issues/415
https://github.com/tediousjs/tedious/issues/416

рджреЛрд╕реНрддреЛрдВ - рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдЖрдЙрдЯ рд╣реИ - https://github.com/tediousjs/tedious/pull/497ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓реЙрдЧрд┐рди рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЖрдЬрдорд╛рдиреЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВред

рд╣реИрд▓реЛ рдЕрдЧрд░ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдореИрдВрдиреЗ рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ 12 рдПрдордПрд╕рдПрд╕рдХреНрдпреВрдПрд▓ рдиреЛрдб 4.1 рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

рдореЗрд░реЗ рдХрдиреЗрдХреНрд╢рди рдиреЗ рдЗрд╕реЗ рдиреАрдЪреЗ рджрд┐рдпрд╛ рд╣реИ:

x

рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ:

рдХреЙрдиреНрд╕реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧрдХрдиреЗрдХреНрдЯ = 'рд╕рд░реНрд╡рд░ = рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ \ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ: 1433; рдбреЗрдЯрд╛рдмреЗрд╕ = рдЬреАрдЖрд░рдбреА; рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА = рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ \ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ; '
DATABASE.connect (рд╕реНрдЯреНрд░рд┐рдВрдЧрдХрдиреЗрдХреНрдЯ)
рддрдм (рдХреЙрди => {
рдЧреНрд▓реЛрдмрд▓.рдХреЙрди = рдХреЙрди;
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдЬреАрдЖрд░рдбреА рд╕реЗ рдЬреБрдбрд╝рд╛');
})
рдХреИрдЪ (рдЧрд▓рддреА => рдХрдВрд╕реЛрд▓ред рддреНрд░реБрдЯрд┐ ( connection error mssql $ {stringConnect} - $ {err} ));

рдореЙрдбреНрдпреВрд▓.рдПрдХреНрд╕рдкреЛрд░реНрдЯреНрд╕ = рдбреЗрдЯрд╛рдмреЗрд╕;

* рд░рд┐рдЯрд░реНрди рдПрд░рд░**
mssql рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рд╕рд░реНрд╡рд░ = рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ \ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ: 1433; рдбреЗрдЯрд╛рдмреЗрд╕ = рдЬреАрдЖрд░рдбреА; рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА = рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ \ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ; - рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐: рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ: 1433 рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╕рдлрд▓рддрд╛ рдХреЗ рдмрд┐рдирд╛ рднреА! рдирдЬрд╝рд░:

рд╡рд░ рд╡рд┐рдиреНрдпрд╛рд╕ = {
рд╕рд░реНрд╡рд░: "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ \ MSSQLSERVER",
рдбреЗрдЯрд╛рдмреЗрд╕: "рдЬреАрдЖрд░рдбреА",
рдмрдВрджрд░рдЧрд╛рд╣: 1433,
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: 'рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ \ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ',
рдбрд┐рдмрдЧ: рд╕рдЪ,
рд╡рд┐рдХрд▓реНрдк: {
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ: рдЭреВрдард╛,
рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХрдиреЗрдХреНрд╢рди: рд╕рдЪ
}
};

DATABASE.connect (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдлрд╝рдВрдХреНрд╢рди (рдЧрд▓рддреА) {
рдЕрдЧрд░ (рдЧрд▓рддреА)
{
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ (рдЧрд▓рддреА)
}
рдЕрдиреНрдп
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдХрдиреЗрдХреНрдЯреЗрдб .....')
});

рдореЙрдбреНрдпреВрд▓.рдПрдХреНрд╕рдкреЛрд░реНрдЯреНрд╕ = рдбреЗрдЯрд╛рдмреЗрд╕;

*рд░рд┐рдЯрд░реНрди рдПрд░рд░*
рд╕рдВрджреЗрд╢:
'рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ-рд╕реАрд╕реАрдИ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд - рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛ (рдЕрдиреБрдХреНрд░рдо)',
рдХреЛрдб: 'рдИрд╕реЛрдХреЗрдЯ'},
рдирд╛рдо: 'рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐'}

рдЕрд░реЗ @allexon , рдердХрд╛рдК рдЕрднреА рддрдХ рд╡рд┐рдВрдбреЛрдЬ рдПрдХреАрдХреГрдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╡рд░рдг https://github.com/tediousjs/tedious/issues/660 рдореЗрдВ рд╣реИрдВред

рдХреНрдпрд╛ рдердХрд╛рдК рд╕рдорд░реНрдерди SQL рд╕рд░реНрд╡рд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрднреА рддрдХ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

tvrprasad picture tvrprasad  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

spacem picture spacem  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ggazulla picture ggazulla  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SaloniSonpal picture SaloniSonpal  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

anthonylau picture anthonylau  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ