์ง๋ฃจํ๊ณ ์๋ก์ด SQL Server 2014-
์ง๋ฃจํ ํจํค์ง ๋ฒ์ : 1.9.0
๋
ธ๋ ๋ฒ์ 12
// ๊ตฌ์ฑ ์ค์
๋ณ์ ๊ตฌ์ฑ = {
์ฌ์ฉ์ ์ด๋ฆ: "์ฌ์ฉ์",
๋น๋ฐ๋ฒํธ: "๋ง์ดํจ์ค",
์๋ฒ: "MyServer",
๋๋ฉ์ธ: "MyDomian",
์ต์
: {
๋ฐ์ดํฐ๋ฒ ์ด์ค: "myDb"
},
๋๋ฒ๊ทธ: {
ํจํท: ์ฐธ,
๋ฐ์ดํฐ: ์ฌ์ค,
ํ์ด๋ก๋: ์ฌ์ค,
ํ ํฐ: ์ฌ์ค,
๋ก๊ทธ: ์ฌ์ค
}
};
1433 ํฌํธ์ ์ฐ๊ฒฐํ ์ ์์์ ํ์ธํ์ผ๋ฉฐ ํ ์คํธ๋ฅผ ์ํด ๋ก์ปฌ์์ ์คํ๋๋ SQL ์๋ฒ์ ๋๋ค.
์คํ ์ถ์ :
D:\Development\Node\node-sql\index.js:25
์ค๋ฅ๋ฅผ ๋์ง๋ค;
^^
์ฐ๊ฒฐ ์ค๋ฅ: ๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.
๋ก๊ทธ์ธ์ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์์ ์์ผ๋ฉฐ ๋ค์๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋์ฐ ์ธ์ฆ.
ํ์์์.
(D:\Development\Node\node-sql\node_modules\tedious\lib\connection.js:447:37)
Parser.emit์์ (events.js:107:17)
Parser.nextToken์์
(D:\Development\Node\node-sql\node_modules\tedious\lib\token\token-stream-parser.js:91:18)
Parser.addBuffer์์
(D:\Development\Node\node-sql\node_modules\tedious\lib\token\token-stream-parser.js:68:17)
Connection.sendDataToTokenStreamParser์์
(D:\Development\Node\node-sql\node_modules\tedious\lib\connection.js:879:35)
Connection.STATE.SENT_NTLM_RESPONSE.events.data์์
(D:\Development\Node\node-sql\node_modules\tedious\lib\connection.js:226:23)
Connection.dispatchEvent์์
(D:\Development\Node\node-sql\node_modules\tedious\lib\connection.js:742:59)
๋ฉ์์งIO์์.
(D:\Development\Node\node-sql\node_modules\tedious\lib\connection.js:670:22)
MessageIO.emit์์ (events.js:107:17)
MessageIO.eventData์์
(D:\Development\Node\node-sql\node_modules\tedious\lib\message-io.js:56:12)
์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก์ ๋ชจ๋ ํธ์๋ ๊ฐ์ฌํฉ๋๋ค.
๋ด๊ฐ ๋งํ ์ ์๋ ํ, ๋ด๊ฐ PRํ ์์ ์ฌํญ์ ์์ง ๋ฆด๋ฆฌ์ค๋์ง ์์์ต๋๋ค. ๋ณด๊ณ ์๋ ์ค๋ฅ ๋ฉ์์ง๋ ํน์ ๋ณด์ ์ ํ์ด ์๋ AD์ SQL ์๋ฒ์ ์ฐ๊ฒฐํ๋ ค๊ณ ์๋ํ ๋ด์ฉ๊ณผ ์ผ์นํฉ๋๋ค. NTLM ์ง์์ ์ถ๊ฐํ๋ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์๋ ์ด๋ฅผ ์ค๋ช ํ์ง ์์์ง๋ง ์๋ก ๋ณํฉ๋ ๋์์ ์ค๋ช ํด์ผ ํฉ๋๋ค. ๋ง์คํฐ ๋ธ๋์น์์ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๋ NPM์ ์๋ํ์ต๋๊น?
๊ทธ๋์ npm์ด ์ค์ ๋ก lib ํด๋๋ฅผ ์ ์ธํ๊ธฐ ๋๋ฌธ์ master ๋ธ๋์น์์ ์ต์ ๋ฒ์ ์ ๊ฐ์ ธ์ ๋ก์ปฌ๋ก ์ปดํ์ผํ์ง๋ง ์ฌ์ ํ ๊ธฐ์จ์ ์์ต๋๋ค. ์ด๊ฒ์ npm์ ์๋ ์ปคํผ 1.7๊ณผ ์ฝ๊ฐ ๋ค๋ฅด๊ฒ ์ปดํ์ผํ ์ปคํผ 1.9๋ก ์ปดํ์ผํ์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์กฐ๊ธ ๊ณ์ํ ๊ฒ์ ๋๋ค - ๋ค๋ฅธ ์์ด๋์ด๊ฐ ์์ต๋๊น?
Azure์์ SQL Auth๋ฅผ ์ฌ์ฉํ์ฌ ์ด ์์ ์ ์ํํ ์ ์์์ง๋ง ์ฌ์ ํ Windows Auth์์ ์ด ์์ ์ ์ํํ ์ ์์ต๋๋ค. - npm์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ํ์ฌ ์์ค๋ก ์๋ํ์ง๋ง ์ฌ์ ํ ์๋ํ์ง ์์์ง๋ง ์์ธ์ผ ์ ์์ต๋๋ค. ์ปคํผ ์คํฌ๋ฆฝํธ ์์ฑ ๊ฒฝํ์ด ๋ถ์กฑํ์ฌ -
์ปคํผ ๋ฒ์ 1.9 ์ฌ์ฉ - ์์ค์ ๋ํด ๋ค์์ ์คํํ์ต๋๋ค.
์ปคํผ --copile --output lib src ๊ทธ๋ฐ ๋ค์ ์ปดํ์ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ node_modules/tediousํ์ง๋ง ์ฌ์ ํ ์ด๋ํ์ง ์์ต๋๋ค.
1.10.0 ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํด ๋ณผ ์ ์์ต๋๊น?
์ง๋ฃจํ ์ต์ ๋ฒ์ ์์ ๋์ผํ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค. ์ํฌ์คํ ์ด์ ์ ์ด๋ฆ์ ์ ๊ณตํ์ง๋ง ์ฌ์ ํ "๋ก๊ทธ์ธ์ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์์ ์์ผ๋ฉฐ Windows ์ธ์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค."๋ผ๋ ๋์ผํ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
๋๋ฉ์ธ์ ์ผ๋ถ๊ฐ ์๋ ์ปดํจํฐ์์ Windows ๋๋ฉ์ธ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ์ ์๋๋ก ํ๋ ๋๋ฉ์ธ ์ค์ ๊ณผ ๊ด๋ จํ์ฌ ๋๋ฝ๋ ๊ฒ์ด ์์ต๋๊น? Windows 2012 R2 Server์ Ubuntu 14.04 ์ธ์คํด์ค์์ SQL Server 2014๋ก ๋๋ฉ์ธ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๋ ค๊ณ ํฉ๋๋ค.
@arobson ๋ค๋ฅธ ์๊ฒฌ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ PR์ด ๋ณํฉ๋ ํ ํ๋ก๋์ ์์ ์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆํ ์ ์๋ค๊ณ ๋งํ์ต๋๋ค. ์ง๋ฃจํ ๊ฒ ์ธ์ ํด์ผ ํ ์ผ์ด ์์๋์?
์ง๋ฃจํ ์ต์ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํ๊ณ ์์ต๋๊น?
@arthurschreiber ๋ฐฉ๊ธ ์๋ํ์ง๋ง ์ฌ์ ํ "๋ก๊ทธ์ธ์ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์์ ์์ผ๋ฉฐ Windows ์ธ์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค."๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์๋ฌ ๋ฉ์์ง.
@arobson ์ ํด๊ฒฐ์ฑ ์ด ์๋ ๊ฒ ๊ฐ์์ง๋ง ์ด๋์์๋ ์ฐพ์ ์ ์์์ต๋๋ค.
๋๋ฉ์ธ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ์ฌ SQL 2014 ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํด์ผ ํ๋ ์ต์ ์ ๋ํ ๋์์ ์ฃผ์๋ฉด ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ด ๋ฌธ์ ๋ ์์ต๋๋ค. ์ ๋ SQL ์ฌ์ฉ์๋ก ๋ก๊ทธ์ธํ ์ ์์ง๋ง Windows ์ธ์ฆ์ผ๋ก๋ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค. ๋ถํํ๋ ์ db ํ์ ์๊ตฌ SQL ์ฌ์ฉ์๋ฅผ ํ์ฉํ์ง ์์ผ๋ฏ๋ก Windows ์ธ์ฆ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ค์์ ๋ด ๊ตฌ์ฑ ์ต์ ์ ๋๋ค.
๋ณ์ ๊ตฌ์ฑ = {
์๋ฒ: 'SERVERNAME',
์ฌ์ฉ์ ์ด๋ฆ: ์ฌ์ฉ์',
๋น๋ฐ๋ฒํธ: '๋น๋ฐ๋ฒํธ',
๋๋ฉ์ธ: 'FQDN.DOMAIN.COM'
,์ต์
: {
๋๋ฒ๊ทธ: {
ํจํท: ์ฐธ,
๋ฐ์ดํฐ: ์ฌ์ค,
ํ์ด๋ก๋: ์ฌ์ค,
ํ ํฐ: ๊ฑฐ์ง,
๋ก๊ทธ: ์ฌ์ค
},
๋ฐ์ดํฐ๋ฒ ์ด์ค: 'DB_NAME'
}
};
์ด๊ฒ์ ๋ด๊ฐ ์ป๋ ์ค๋ฅ์ ๋๋ค.
{ [์ฐ๊ฒฐ ์ค๋ฅ: ๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค. ๋ก๊ทธ์ธ์ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์์ ์์ผ๋ฉฐ Windows ์ธ์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.]
์ด๋ฆ: '์ฐ๊ฒฐ ์ค๋ฅ',
๋ฉ์์ง: '๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค. ๋ก๊ทธ์ธ์ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์์ ์์ผ๋ฉฐ Windows ์ธ์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.',
์ฝ๋: 'ELOGIN' }
{ [RequestError: ์์ฒญ์ SentNTLMResponse ์ํ๊ฐ ์๋ LoggedIn ์ํ์์๋ง ๊ฐ๋ฅํฉ๋๋ค.]
์ด๋ฆ: '์์ฒญ ์ค๋ฅ',
๋ฉ์์ง: 'SentNTLMResponse ์ํ๊ฐ ์๋ LoggedIn ์ํ์์๋ง ์์ฒญ์ ํ ์ ์์ต๋๋ค.',
์ฝ๋: 'EINVALIDSTATE' }
{ [์ฐ๊ฒฐ ์ค๋ฅ: ๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค. ๋ก๊ทธ์ธ์ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์์ ์์ผ๋ฉฐ Windows ์ธ์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.]
์ด๋ฆ: '์ฐ๊ฒฐ ์ค๋ฅ',
๋ฉ์์ง: '๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค. ๋ก๊ทธ์ธ์ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์์ ์์ผ๋ฉฐ Windows ์ธ์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.',
์ฝ๋: 'ELOGIN' }
{ [RequestError: ์์ฒญ์ SentNTLMResponse ์ํ๊ฐ ์๋ LoggedIn ์ํ์์๋ง ๊ฐ๋ฅํฉ๋๋ค.]
์ด๋ฆ: '์์ฒญ ์ค๋ฅ',
๋ฉ์์ง: 'SentNTLMResponse ์ํ๊ฐ ์๋ LoggedIn ์ํ์์๋ง ์์ฒญ์ ํ ์ ์์ต๋๋ค.',
์ฝ๋: 'EINVALIDSTATE' }
๋ด ๊ตฌ์ฑ์ ๋ฌธ์ ๊ฐ ์์ต๋๊น?
์๋์, ๊ตฌ์ฑ์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๋ด ์ปดํจํฐ์ SQL Server 2014๋ฅผ ์ค์นํ๊ณ ์ด ๋ฌธ์ ์ ์์ธ์ ํ์ธํด์ผ ํฉ๋๋ค. ์ธ์ฆ ์ฒด๊ณ๊ฐ ๋ณ๊ฒฝ๋์์ ์ ์์ผ๋ฉฐ ์์ง ์ง์ํ์ง ์์ต๋๋ค.
๋ด๊ฐ ๋ฌด์์ ํ ์ ์๋์ง ์์๋ณผ ๊ฒ.
@jgornick @stefanTHD - ์ฌ๊ธฐ์ ์ ๊ฐ ์ฐ๋ฆฌ ํ๊ฒฝ์์ ๋ฐ๊ฒฌํ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค. NTLM์ ๋ ์์ ํ NTLM ๊ธฐ๋ฅ์ ๋ฐฉ์งํ๋ ๋งค์ฐ ์๊ฒฉํ ์ ์ฑ ์๋ ๋ถ๊ตฌํ๊ณ 2012๋ ๊ณผ 2014๋ ์ AD ์ธ๋ถ์ Linux ์์์์ ์ฐ๋ฆฌ๋ฅผ ์ํด ์ผํด ์์ต๋๋ค.
1 - ๋๋ฉ์ธ ์์ฑ์์ FQDN์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. "company.com"์ธ ๊ฒฝ์ฐ "COMPANY"๋ฅผ ์ฌ์ฉํฉ๋๋ค.
2 - ๋๋ฌธ์๋ ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ชจ๋ ๋๋ฌธ์๋ก ๋ ๋๋ฉ์ธ ์ด๋ฆ์ผ๋ก ์ฑ๊ณตํ์ต๋๋ค.
3 - ์ ๊ทํ๋ ์ฌ์ฉ์ ์ด๋ฆ(์: "[email protected]")์ _์ฌ์ฉํ์ง ๋ง์ญ์์ค_ "user.name"
NTLM ์ค๋ช ์๋ ์ค๋๋์์ผ๋ฉฐ Microsoft์์ ์ ๊ณตํ์ง ์์ต๋๋ค. ๋ด๊ฐ ์ฐพ์ ๋ฌธ์๊ฐ ๊ทธ ์ค ์ผ๋ถ๊ฐ ๋ฌด์์ ์ํ ๊ฒ์ธ์ง ์ค๋ช ํ์ง ์์๊ธฐ ๋๋ฌธ์ ํน์ ๋ฐ์ด๋๋ฆฌ ํ๋๊ทธ์ ๋ํด ๋ง์ ์กฐ์ฌ๋ฅผ ํด์ผ ํ์ต๋๋ค. ์ฐ๋ฆฌ AD์ ์ผ๋ถ NTLM ๊ธฐ๋ฅ์ ๋นํ์ฑํํ๋ ์ ์ฑ ์ด ์์๊ธฐ ๋๋ฌธ์ ์ฒซ ๋ฒ์งธ PR์ ์ํฌ์คํ ์ด์ ์ SQL Server์ ๋ํ NTLM์์๋ง ์๋ํ์ต๋๋ค.
์์ 3๊ฐ์ง ํ์ด ํจ๊ณผ๊ฐ ์์ ๊ฒฝ์ฐ Even Viewer / SQL Logs๋ฅผ ํตํด ์คํจํ ๋ก๊ทธ์ธ ํญ๋ชฉ์ ์ฐพ์ ์ ์๋ค๋ฉด ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. "์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ"์ ์ค์ ๋ก ๊ณต๊ฒฉ์๊ฐ ์์ฒญ์ด ๊ฑฐ๋ถ๋ ์ด์ ๋ฅผ ์๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค๊ธฐ ์ํด MSFT๊ฐ ์ ๊ณตํ๋ ์ผ๋ฐ ์ค๋ฅ์ ๋๋ค. ํด๋น ์ค๋ฅ์ ๋ํด Google์์ ๊ฒ์ํ๊ณ ํด๋น ์ค๋ฅ๊ฐ ์คํด์ ์์ง๊ฐ ์๋ค๊ณ ๋ถํํ๋ NTLM์ ์ง์ํ๋ ค๋ ๋ค๋ฅธ OSS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐพ์ ์๋ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค. Tedious๋ ํ๋ฅญํ๊ณ @arthurschreiber ์ ์ต๊ทผ ๊ธฐ์ฌ ๋๋ถ์ ๋์ฑ ํฅ์๋์์ต๋๋ค.
NTLM ์ธ์ฆ์ Microsoft์ MS-NLMP
์ค๋ช
์์ ์ค๋ช
๋์ด ์์ต๋๋ค. ์๊ฐ์ ๋ด์ ์ฝ์ด๋ณด๊ณ ์ง๊ธ๊น์ง ๊ตฌํ๋ ๊ฒ๊ณผ ์ง๋ฃจํ๊ฒ ๋น๊ตํ ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค.
@arthurschreiber @arobson ์ธ์์ ๋๋์ด ์๋ํฉ๋๋ค!!! ์ ์์ ์ง์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!!! ์ ์ต์ข ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
var config = {
"userName": "user.name",
"password": "password",
"server": "servername",
"domain": "DOMAIN_NAME_CAPITALIZED_AND_NOT_FQDM",
"options": {
"encrypt": false
}
};
๊ฐ์ ๋จธ์ ์์ SQL Server 2008 R2๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํธ์คํ ํ๋ ๋์ผํ ์๋ฒ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ฌธ์ ์ด๋๊ฐ์ ์ถ๊ฐํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
๋ฉ์๋! NTLM ์ธ์ฆ์ด ์ํธํ์ ํจ๊ป ์๋ํ์ง ์๋๋ค๋ ์ฌ์ค์ ์ฝ๋์ ๋ฒ๊ทธ์ด๋ฉฐ ๊ณง ์์ ์ฌํญ์ ์ ๊ณตํ ๊ฒ์ ๋๋ค(์๊ฐ์ ์ฐพ์ ์ ์๋ค๋ฉด).
์ค์ ๋ก ๋๋ฉ์ธ์ ๋๋ฌธ์๋ก ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค!
https://github.com/pekim/tedious/pull/367 ์ํธํ์ ํจ๊ป ์๋ํ์ง ์๋ NTLM ์ธ์ฆ์ ๋ํ ์์ ์ฌํญ์ ๋๋ค.
์ด ํ ๋ก ์ Linux์์ Windows ์ธ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํ๋ ๊ฒ์ ๋๊น? ์๋ฅผ ๋ค์ด ๋ ๋ํ?
@pisees ์, ์์ ์ฌํญ์ด ํฌํจ๋ ์ํธํ์ ํจ๊ป Windows Auth๋ฅผ ์ฌ์ฉํ์ฌ Fedora 22์์ SQL ์๋ฒ๋ก ์ฐ๊ฒฐํ๊ณ ์์ต๋๋ค.
@NamTThai ์ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ์ด๊ฒ์ ์ฝ๊ณ ์ค๋ช ๋ ๋๋ก ๋๋ฉ์ธ์ ๋ณ๊ฒฝํ ํ ์ง๊ธ ์๋ํ๊ณ ์์ต๋๋ค. (๋ชจ๋ ๋๋ฌธ์๋ก ๋๋ฉ์ธ์ ์ฒซ ๋ถ๋ถ๋ง, ์ ๋ค ๋ถ๋ถ์ ์๋ต)
์ ๋ Microsoft์ ํจ๊ป ํ๊ณ ์์ผ๋ฉฐ ์ง๋ฃจํ ์์
์ ๋์์ด ๋๊ณ ์ ํฉ๋๋ค.
์ด ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ์์ง ํด๊ฒฐ๋์ง ์์ ์ฌํญ์ด ์์ต๋๊น? ์๋๋ฉด ๋ชจ๋ ํด๊ฒฐ๋์์ต๋๊น?
@tvrprasad ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋ํ๋ ์ด์ ๋ฅผ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ์ดํดํ๊ณ ์๋์ง ํ์ ํ ์ ์์ต๋๋ค. :)
@benzou 8/15์ ์ด ์ค๋ ๋์์ @arobson ์ด ์ค๋ช
ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์
๋๊น?
์ด ๋ฌธ์ ๊ฐ ๋ซํ์ง ๋ชปํ๊ฒ ๋ง๋ ๊ฒ์ ๋ฌด์์
๋๊น? ๋ด๊ฐ ์ด๊ฒ์ ๋ซ๋ ๊ฒ์ ๋์ธ ์ ์์์ง๋ ๋ชจ๋ฆ
๋๋ค... ์ด๋ป๊ฒ๋ :)
@tvrprasad ์ด ๋ฌธ์ ์ ๋ํด ๋ ๋์ ๋ฌธ์๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ gh-pages
๋ถ๊ธฐ์ ๋ฌธ์๊ฐ ์ ์ฅ๋์ด ์์ง๋ง ์ฝ๋ ๊ธฐ๋ฐ ์ธ๋ถ์์ ์ ์ง ๊ด๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ฝ๊ฒ ๊ตฌ์์ด ๋๊ณ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ด๋ ต์ต๋๋ค. ๐
@tvrprasad - ๋ด๊ฐ NTLM ์ง์์ ์ถ๊ฐํ ์ดํ๋ก ์ง๋ฃจํ๊ณ ์ฐ๋ฆฌ ๋ฆฌํฌ์งํ ๋ฆฌ ์ ๋ณด๊ณ ๋ ๋ฌธ์ ๋ ๋๋ฉ์ธ์ด ์๋ฌธ์ ๋ฐ/๋๋ FQDN์ผ๋ก ์ง์ ๋์๊ธฐ ๋๋ฌธ์ ์ผ๊ด๋๊ฒ ๋ฐ์ํ์ต๋๋ค. ์ด์ ๋ํ ํ ๊ฐ์ง ์๋ฃจ์ ์ ๋ค์๊ณผ ๊ฐ์ PR์ ์ํํ๋ ๊ฒ์ผ ์ ์์ต๋๋ค.
.
์์ ๋๋ฉ์ธ์ ๋ถํ ํ๊ณ ์ฒซ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ๋ง ์ฌ์ฉํฉ๋๋ค.์ ๋ ํ์คํ NTLM ์ ๋ฌธ๊ฐ๋ ์๋์ง๋ง ์ฐ๋ฆฌ๋ MSSQL๊ณผ Node์ ํฌ์ด๊ณ ์ด๊ฒ์ด ์ ๋ง๋ก ํ์ํ์ต๋๋ค. ๊ทธ๋์ ์ด์ ํ์ ๋์์ ๋ฐ์ ์ฌ๋ฌ SQL Server์ ๋ํด ํ ์คํธํ๊ธฐ ์ํด NTLM ๋ฌธ์ ๋ฐ ๊ธฐํ ๊ตฌํ์ ๋ฐ์ด๋ค์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ตฌํ์ ๋ํด ๋น๊ต์ ํ์ ํ ์ ์์์ต๋๋ค. ๊ฑฐ๊ธฐ์ ์ ๊ณตํ ์ ์๋ ๋ชจ๋ ๋ถ์ ๋ฐ ๊ฐ์ ์ฌํญ์ ํ๋ฅญํ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ๋ฐ๋๋ ๋ฌธ์๊ฐ 2007๋ ๋ถํฐ์๊ธฐ ๋๋ฌธ์ ๋ด๊ฐ ๋ฌด์์ ๋์ณค๋์ง ๋งํ ์ ์์ต๋๋ค ๐
NTLM ๋นํธ์ ๋ํด ๋ต๋ณํ ์ ์๋ ํน์ ์ง๋ฌธ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ญ์์ค.
@arobson - FDQN์ด ์ ์๊ฒ ํจ๊ณผ๊ฐ ์๋ ๊ฒ ๊ฐ์ง๋ง ์ฌ์ ํ ๋๋ฌธ์์ ๋๋ค. ์ฌ์ด ์ถ์ ์ ์ํด ๋๋ฌธ์๋ก ๋ณํํ๋ ๋ณ๋์ ๋ฌธ์ ๋ฅผ ๋ง๋ค์์ต๋๋ค - https://github.com/tediousjs/tedious/issues/414. ์ด์ ๋ํ PR์ ์์ฑํ๊ฒ ์ต๋๋ค. ์๋ฌธ์๊ฐ ์๋ํ์ง ์๋ ์ด์ ๋ฅผ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค.
@arthurschreiber - ์ด ์ฃผ์ ์ ๋ํด ์ต์ํ ํ๋์ PR์ ๋ฐ์ ์ ์๊ฒ ๋๋ฉด ๋ฌธ์๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ๋ ๋ฐ ๋์์ ์ฃผ๋๋ก ํ์ฌ ๋ ์ ์ดํดํ ์ ์๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฌธ์๊ฐ ๋ถ์กฑํ ๋ค๋ฅธ ์์ญ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ญ์์ค. ์ ๊ฐ ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ธ์ฆ๊ณผ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ์ด์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ๋ํ ์๊ฐ์ ๊ณ ๋ง๊ฒ ์๊ฐํฉ๋๋ค.
https://github.com/tediousjs/tedious/issues/415
https://github.com/tediousjs/tedious/issues/416
์ฌ๋ฌ๋ถ - Windows ํตํฉ ์ธ์ฆ ๊ตฌํ์ ์ํ PR์ด ์์ต๋๋ค( https://github.com/tediousjs/tedious/pull/497). ์ด๊ฒ์ ์ฌ์ฉ์ ์ด๋ฆ์ด๋ ์ํธ๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ์ฌ์ฉ์์ ๋ก๊ทธ์ธ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํฉ๋๋ค.
์ฌ์ฉํด๋ณด์๊ณ ํผ๋๋ฐฑ ์ฃผ์๋ฉด ์ ๋ง ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ์ปค๋ฎค๋ํฐ์ ํ๋ ฅํ๊ธฐ๋ฅผ ๊ณ ๋ํ๊ณ ์์ต๋๋ค.
๋๊ตฌ๋ ์ง ๋๋ฅผ ๋์ธ ์ ์๋ค๋ฉด MS SQL Server ๋ฐ์ดํฐ๋ฒ ์ด์ค 12์์ mssql ๋ ธ๋ 4.1์ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ์ ์๋ํ์ง๋ง ์ด๋ฏธ ๋ง์ ๊ฒ์ ์๋ํ์ง๋ง ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค.
๋ด ์ฐ๊ฒฐ์ ๋ค์์ ์ค์ํ์ต๋๋ค.
๋๋ ์๋ํ๋ค:
const stringConnect = '์๋ฒ = ADMIN-CCE \ ๊ด๋ฆฌ์: 1433; ๋ฐ์ดํฐ๋ฒ ์ด์ค = GRD; ์ฌ์ฉ์ ID = admin-cce \ admin; '
DATABASE.connect(๋ฌธ์์ด ์ฐ๊ฒฐ)
.then (์ฐ๊ฒฐ => {
global.conn = conn;
console.log('GRD์ ์ฐ๊ฒฐ๋จ');
})
.catch(err => console.error( connection error mssql $ {stringConnect} - $ {err}
));
module.exports = ๋ฐ์ดํฐ๋ฒ ์ด์ค;
* ๋ฐํ ์ค๋ฅ **
mssql ์ฐ๊ฒฐ ์ค๋ฅ ์๋ฒ = ADMIN-CCE \ ๊ด๋ฆฌ์: 1433; ๋ฐ์ดํฐ๋ฒ ์ด์ค = GRD; ์ฌ์ฉ์ ID = admin-cce \ admin; - ConnectionError: ๊ด๋ฆฌ์์ฉ ํฌํธ: 1433์ด ADMIN-CCE์์ ์ฐพ์ ์ ์์ต๋๋ค.
์ด๋ฏธ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๋ํ์ง๋ง ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค! ๋ฐ๋ผ๋ณด๋ค:
๋ณ์ ๊ตฌ์ฑ = {
์๋ฒ: "ADMIN-CCE \ MSSQLSERVER",
๋ฐ์ดํฐ๋ฒ ์ด์ค: "GRD",
ํฌํธ: 1433,
์ฌ์ฉ์: 'admin-cce \ admin',
๋๋ฒ๊ทธ: ์ฌ์ค,
์ต์
: {
์ํธํ: ๊ฑฐ์ง,
์ ๋ขฐํ ์ ์๋ ์ฐ๊ฒฐ: ์ฐธ
}
};
DATABASE.connect(๊ตฌ์ฑ, ๊ธฐ๋ฅ(์ค๋ฅ) {
๋ง์ฝ (์ค๋ฅ)
{
console.log(์ค๋ฅ)
}
๋ ๋ค๋ฅธ
console.log('์ฐ๊ฒฐ๋จ.....')
});
module.exports = ๋ฐ์ดํฐ๋ฒ ์ด์ค;
* ๋ฐํ ์ค๋ฅ *
๋ฉ์ธ์ง:
'ADMIN-CCE์ ์ฐ๊ฒฐํ์ง ๋ชปํ์ต๋๋ค: ์ ์๋์ง ์์ - ์ฐ๊ฒฐํ ์ ์์ต๋๋ค(์ํ์ค)',
์ฝ๋: 'ESOCKET'},
์ด๋ฆ: '์ฐ๊ฒฐ ์ค๋ฅ'}
@allexon๋ , tedious๋ ์์ง Windows ํตํฉ ์ธ์ฆ์ ์ง์ํ์ง ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ https://github.com/tediousjs/tedious/issues/660์ ์์ต๋๋ค.
์ง๋ฃจํจ์ ์์ง SQL ์๋ฒ Windows ์ธ์ฆ์ ์ง์ํฉ๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@arthurschreiber @arobson ์ธ์์ ๋๋์ด ์๋ํฉ๋๋ค!!! ์ ์์ ์ง์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!!! ์ ์ต์ข ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฐ์ ๋จธ์ ์์ SQL Server 2008 R2๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํธ์คํ ํ๋ ๋์ผํ ์๋ฒ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ฌธ์ ์ด๋๊ฐ์ ์ถ๊ฐํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.