Ä¿ÇÇÇâÀÌ ³ª´Â *NIX
Ä¿ÇǴнº
½Ã½ºÅÛ/³×Æ®¿÷/º¸¾ÈÀ» ´Ù·ç´Â °÷
*
HanIRCÀÇ #coffeenix ¹æ
[
Àåºñ ¹× ȸ¼± ÈÄ¿ø
]
> Forum <
IT ÀÏÁ¤
N
e
w
!
ÀÚµ¿È ÇÁ·ÎÁ§Æ®
HOME
>
ÇÁ·Î±×·¡¹Ö / °³¹ß
>
À¥ ÇÁ·Î±×·¡¹Ö / PHP
µµ¿ò¸»
°Ë»ö :
»çÀÌÆ®
WHOIS
À¥¼¹ö Á¾·ù
php¿¡¼ MSSQL »ç¿ë
ÀÛ¼ºÀÏ : 2005/12/28 00:22
±Û¾´ÀÌ : ÁÁÀºÁøÈ£ (
http://coffeenix.net/
)
Á¶È¸¼ö : 29999
[
ÀÌÀüȸé
/
¼öÁ¤
] ºñ¹Ð¹øÈ£ :
Á¦ ¸ñ : php¿¡¼ MSSQL »ç¿ë
ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel,
http://coffeenix.net/
)
ÀÛ¼ºÀÏ : 2005.12.27(È)
¼öÁ¤ÀÏ : 2007.07.23(¿ù) Linux¿¡¼ ¼³Ä¡ Ãß°¡
Unix/Linux¿¡¼ FreeTDS ¶óÀ̺귯¸®¸¦ »ç¿ëÇؼ MS SQL°ú Sybase DB¸¦ Çڵ鸵ÇÒ ¼ö ÀÖ´Ù. FreeTDS´Â MSSQL¿¡¼ »ç¿ëÇÏ´Â TDS(Tabular Data Stream) ÇÁ·ÎÅäÄÝÀÇ ¿ÀÇ ¼Ò½º ¹öÀüÀ̶ó°í º¸¸éµÈ´Ù. ÇöÀç TDS 4.2(System 10ÀÌÀü Sybase, MS SQL 6.x), 5.0(Sybase), 7.0, 8.0(MS SQL 2000¿¡ ÇØ´ç) ¹öÀüÀ» Áö¿øÇÑ´Ù.
1. FreeTDS ¼³Ä¡ (FreeBSD ¿¡¼)
MS SQLÀ» »ç¿ëÇϱâ À§ÇÑ Unix/Linux ¶óÀ̺귯¸® FreeTDS(
http://www.freetds.org/
)ÀÇ php ¸ðµâ ¼³Ä¡´Â FreeBSD¸¦ ±âÁØÀ¸·Î ¼³¸íÇÑ´Ù.
# cd /usr/ports/databases/php5-mssql ¶Ç´Â /usr/ports/databases/php4-mssql
# make
# make install
/usr/local/etc/php/extensions.ini ¿¡ extension=mssql.so ÀÌ Ãß°¡µÇ¾î ÀÖÀ» °ÍÀÌ°í, apache Àç½ÇÇàÀ¸·Î À¥ÆäÀÌÁö(php)¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
2. FreeTDS ¿Í php ¸ðµâ ¼³Ä¡ (Linux ¿¡¼)
FreeTDS(
http://www.freetds.org/
) ¿¡¼ ÃֽŠFreeTDS¸¦ ¹Þ´Â´Ù. ( freetds-stable.tgz )
# tar xvfz freetds-stable.tgz
# cd freetds-0.64/
# ./configure --prefix=/usr/local/freetds
# make
# make install
1) php¸¦ »õ·Î ¼³Ä¡ÇÒ °æ¿ì
php configureÇÒ ¶§ --with-mssql=/usr/local/freetds ¿É¼Ç¸¸ Ãß°¡ÇÏ°í ÄÄÆÄÀÏÇÏ¸é µÈ´Ù.
2) ±âÁ¸¿¡ ¼³Ä¡µÈ php´Â ±×´ë·Î µÎ°í, mssql ¸ðµâ¸¸ Ãß°¡ÇÒ °æ¿ì
php ¼Ò½º¸¦ ¸ÕÀú Ǭ ÈÄ ´ÙÀ½°ú °°Àº °úÁ¤À¸·Î ÁøÇàÇÑ´Ù. ÀÌ ¶§ phpize¿Í php-config ¸í·ÉÀº PATH ¿¡ ÀâÇôÀÖ¾î¾ß ÇÑ´Ù. make install½Ã ȸ鿡 Ç¥½ÃµÈ µð·ºÅ丮¿¡ mssql.so ¸ðµâÀÌ ¼³Ä¡µÈ´Ù.
# cd php-5.x.x
# cd ext/mssql/
# phpize
# ./configure --with-mssql=/usr/local/freetds
# make
# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
¸¸¾à PDO¸ðµâ(PHP Data Objects, pdo_dblib.so) ±îÁö ÇÊ¿äÇÏ´Ù¸é ext/pdo_dblib/ µð·ºÅ丮 ¿¡¼ ./configure --with-pdo-dblib=/usr/local/freetds ¸í·ÉÀ¸·Î ÇÑ ÈÄ ¼³Ä¡ÇÏ¸é µÈ´Ù.
¸ðµâ·Î ¼³Ä¡ÇÑ °æ¿ì php.ini ¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension=mssql.so
extension=pdo_dblib.so <-- pdo_dblib.so ¸ðµâÀ» ¼³Ä¡ÇÑ °æ¿ì
3. freetds.conf ¼³Á¤
FreeTDS¿¡¼´Â freetds.conf ÆÄÀÏ¿¡ ȯ°æ¼³Á¤À» ÇÑ´Ù. ÆÄÀÏ Çü½ÄÀº SambaÀÇ smb.conf³ª rsyncdÀÇ rsyncd.conf¿Í ºñ½ÁÇÑ ÇüÅÂÀ̸ç, Á¢¼ÓÇÒ MSSQL Server¿Í log ÆÄÀÏ °æ·Î, ¹®ÀÚ¼Â, connection timeout ½Ã°£ µîÀ» ¼³Á¤ÇÑ´Ù. FreeBSD ports ½Ã½ºÅÛÀ¸·Î ¼³Ä¡½Ã /usr/local/etc/freetds.conf ¿¡, Linux¿¡¼ 2¹ø °úÁ¤À¸·Î ¼³Ä¡Çß´Ù¸é /usr/local/freetds/etc/freetds.conf¿¡ À§Ä¡ÇÑ´Ù.
[global]
dump file = /var/tmp/freetds.log
client charset = EUC-KR
¡¡¡¡¡¡text size = 64512
[Coffeenix]
host = IP ¶Ç´Â È£½ºÆ®¸í
port = 1433
tds version = 7.0
[TestDB]
host = IP ¶Ç´Â È£½ºÆ®¸í
port = 1433
tds version = 8.0
[Coffeenix]¿Í [TestDB] 2°³´Â MSSQL ¼¹ö¸¦ Á¤ÀÇÇÑ °ÍÀÌ°í, [global]Àº °øÅëÀ¸·Î Àû¿ëµÇ´Â ¼³Á¤ÀÌ´Ù. dump file = ´Â tds dump³»¿ëÀ» ÀúÀåÇÒ ÆÄÀÏ °æ·Î·Î 󸮰úÁ¤¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸¸¦ ¾ò°í ½Í´Ù¸é ¼³Á¤ÇÑ´Ù. client charset = ´Â clientÀÇ ¹®ÀÚ¼ÂÀ» ÁöÁ¤ÇÑ´Ù. MSSQL 7.0À̻󿡼´Â UCS-2 ¹®ÀÚ¼ÂÀ» »ç¿ëÇؼ Åë½ÅÀ» Çϸç client charset = EUC-KR·Î ÁöÁ¤ÇØ¾ß »ç¿ë¿¡ ¹®Á¦°¡ ¾ø´Ù.
freetds.log À» º¸¸é ´ÙÀ½°ú °°ÀÌ ¹®ÀÚ¼ÂÀÌ º¯È¯µÇ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
16:43:03.512658 names for ISO-8859-1: ISO-8859-1
16:43:03.512687 names for UTF-8: UTF-8
16:43:03.512709 names for UCS-2LE: UCS-2LE
16:43:03.512730 names for UCS-2BE: UCS-2BE
16:43:03.512780 iconv to convert client-side data to the "EUC-KR" character set
16:43:03.512834 tds_iconv_info_init: converting "EUC-KR"->"UCS-2LE"
16:43:03.512871 tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
host =, port = ´Â MSSQL ¼¹ö¿Í Æ÷Æ®¸¦ ÁöÁ¤ÇÏ¸é µÇ¸ç ±âº» Æ÷Æ®´Â 1433¹øÀÌ´Ù.
tds version = Àº SQL¼¹öÀÇ ¹öÀüÀ» ÁöÁ¤ÇÑ´Ù.
text size = ´Â TEXTSIZEÀÇ °ª(bytes´ÜÀ§). TEXT³ª image ŸÀÔÀÏ ¶§ returnµÇ´Â °ªÀÇ ÃÖ´ë ±æÀ̸¦
bytes ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. returnµÇ´Â À̹ÌÁöÀÇ Å©±â°¡ Å©´Ù¸é ÀÌ °ªÀ» ´Ã¸®¸é µÈ´Ù.
freetds.conf ¼öÁ¤ÈÄ¿¡ apache¸¦ restartÇÒ ÇÊ¿ä´Â ¾ø´Ù.
4. php »ç¿ë ¿¹
$szDBHost¿¡´Â freetds.conf¿¡¼ ÁöÁ¤ÇÑ ¼¹ö¸íÀ̳ª 'IP:1433' Çü½ÄÀÇ °ªÀ» »ç¿ëÇÑ´Ù.
< ?
$szDBHost = "Coffeenix";
$szDBName = "DB¸í";
$szDBUser = "DB ID";
$szDBPass = "DB ºñ¹Ð¹øÈ£";
if(!$db_connect = mssql_connect($szDBHost,$szDBUser,$szDBPass)) exit;
if(!mssql_select_db($szDBName,$db_connect)) exit;
$result = mssql_query("SQL¹®", $db_connect);
if( $result ) {
¡¡¡¡¡¡echo "query OK";
} else {
¡¡¡¡¡¡echo "query error";
}
? >
5. ¿¡·¯ ¸Þ½ÃÁö
1)
Warning: mssql_connect(): Unable to connect to server: 111.222.123.123 in ...
mssql_connect() ÇÔ¼ö¿¡¼ serverÁöÁ¤ÇÒ ¶§ freetds.conf¿¡ ÁöÁ¤ÇÑ ¼¹ö¸íÀ̳ª
'IP:Æ÷Æ®' ÇüÅ·Π»ç¿ëÇØ¾ß ÇÑ´Ù. À§ÀÇ ¿¡·¯´Â freetds.conf¿¡¼ [111.222.123.123] ¼¹ö ¼½¼ÇÀÌ
ÀÖ´ÂÁö ã¾ÆºÃ´Ù´Â Àǹ̰¡ µÈ´Ù. µµ¸ÞÀÎÀ̳ª IP¸¦ »ç¿ë½Ã¿¡´Â Æ÷Æ®¸¦ ÁöÁ¤ÇؾßÇÔÀ» ÀØÁö ¸»ÀÚ.
2)
Warning: mssql_connect(): WARNING! Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?'). (severity 16) in ..
¹®ÀÚ¼ÂÀÌ ¸ÂÁö ¾Ê¾Æ¼ ¹ß»ýÇÑ °ÍÀÌ´Ù. freetds.conf¿¡ client charset À» ¼³Á¤ÇÑ´Ù.
3)
Warning: mssql_connect(): message: 'ID' »ç¿ëÀÚ°¡ ·Î±×ÀÎÇÏÁö ¸øÇß½À´Ï´Ù. (severity 14) in ...
¶Ç´Â
Warning: mssql_connect(): message: Login failed for user 'ID'. (severity 14) in ...
ID³ª ºñ¹Ð¹øÈ£°¡ Ʋ·ÈÀ½À» ÀǹÌÇÑ´Ù.
6. Âü°í(ÇÒ¸¸ÇÑ) »çÀÌÆ®
* mssql_connect PHP Manual
http://www.php.net/manual/kr/function.mssql-connect.php
* FreeTDS ȨÆäÀÌÁö
http://www.freetds.org/
* FreeTDS FAQ (ÇÑ±Û ¹ø¿ª, ¿¹Àü ³»¿ë)
http://database.sarang.net/database/freetds/faq/faq.html
* Code: FreeTDS Notes
http://rasterweb.net/raster/code/freetdsnotes.html
* The FreeTDS mailing Archives
http://lists.ibiblio.org/pipermail/freetds/
Ä¿ÇǴнº Ä«Æä ÃÖ±Ù ±Û
[03/24]
Youtube òÁ
[03/20]
Re: ¿Â¶óÀΰÔÀÓÀÇ Á¾ÁÖ±¹ ´ëÇѹα¹
[03/20]
½ÇÁ¦
[03/18]
±¹°¡
[10/20]
Cross Compiler ±ò
[07/14]
SSL ¬¡¬°
[04/26]
Re: µµ½ºÈ¸é ¿ø°ÝÁ¶Á¾ ¿©ºÎ
[04/25]
µµ½ºÈ¸é ¿ø°ÝÁ¶Á¾ ¿©ºÎ
[10/30]
Cshell¿¡¼ ³¼ö ¼³Á¤
[10/23]
°øÇ×öµµÁÖ½Äȸ»ç SE ±¸ÀÎ Ëì
[01/26]
Re: wgetÀ¸·Î ´Ù¸¥¼¹ö¿¡ÀÖ´Â µð·ºÅ丮¸¦ °¡Á®¿À·Á°íÇÕ´Ï´Ù.
[01/25]
wgetÀ¸·Î ´Ù¸¥¼¹ö¿¡ÀÖ´Â µð·ºÅ丮¸¦ °¡Á®¿À·Á°íÇÕ´Ï´Ù.
[01/11]
ƯÁ¤ ¾Èµå·ÎÀ̵å WebView ¹öÀü¿¡¼ SSL ¹®Á¦ (WebView ¹ö±×)
[08/01]
DNS forwarder (Àü´ÞÀÚ) ¼¹ö¸¦ ÅëÇؼ Äõ¸®ÇÏ¸é ¿ª¹æÇâÀ» ¹Þ¾Æ¿ÀÁú ¸øÇÕ´Ï´Ù.
[05/16]
(ÁÖ)ÈÄÀÌÁî ½Ã½ºÅÛ¿£Áö´Ï¾î (°æ·ÂÀÚ) ¸ðÁý
N
e
w
! ÃÖ±Ù¿¡ µî·ÏÇÑ ÆäÀÌÁö
KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
¿ÀÇÂij½ºÄÉÀ̵å ijµå (OpenCASCADE CAD)
QCad for Windows --- GNU GPL (Free Software)
The Hello World Collection
IPMI¸¦ È°¿ëÇÑ ¸®´ª½º ¼¹ö°ü¸®
DNS ¼³Á¤ °Ë»ç
nagiosgraph ¼³Ä¡ ¹æ¹ý
Slony-I ¼³Ä¡ ¹æ¹ý (postgresql replication tool)
Qmail±â¹ÝÀÇ Anti spam ½Ã½ºÅÛ ±¸ÃàÇϱâ
clusterssh
[ ÇÔ²²ÇÏ´Â »çÀÌÆ® ]
¿î¿µÁø :
ÁÁÀºÁøÈ£(truefeel)
, ¾ß¼ö(yasu), ¹ü³ÃÀÌ, sCag
2003³â 8¿ù 4ÀÏ~