PHP는 동적 웹 사이트를 개발할 때 가장 많이 사용되는 프로그래밍 언어 중 하나이다. PHP는 기능이 매우 강력하고 효과적이다. 게다가, 일반적으로 매우 단순하고 유연하기 때문에 초보자에게 탁월한 언어이다.
PHP는 자체로도 좋은 언어이지만, XHTML과 함께 사용하면 특히 효과적이다. 그러나 대부분의 애플리케이션에는 편리한 데이터 저장 방법이 필요하고 일반적으로
이러한 작업은 MySQL이나 PostgreSQL과 같은 데이터베이스에 의해 수행된다. PHP에서 데이터 저장 시스템을 연결하려면 mysql_query() 및 pg_query()와 같은
함수를 허용하는 커넥터가 필요하다. 이는 대부분의 상황에서 적용되지만, 때에 따라서는 스프레드시트 같이 사용자가 더 쉽게 다룰 수 있는 곳에
데이터를 저장하도록 요청하는 비즈니스 요구사항도 있다. 이러한 경우에는 데이터와 통신하려면 다양한 커넥터가 필요하다.
SQL을 범용 데이터베이스 시스템에 전송하여 데이터 저장소와 함께 작동하도록 하려면 어떻게 구성해야 할까? 이렇게 하려면 ODBC(Open Database Connectivity)를
작성해야 하며 커넥터를 올바르게 설치하면 Microsoft® Excel®, CSV 및 기타 데이터 파일 유형을 액세스할 수 있다. ODBC는
일종의 데이터 베이스 커넥터로 ODBC를 모르면 PHP 개발이 불가능할 정도가 되었다. ODBC는 MySQL, PostgreSQL, SQLite, Microsoft SQL Server®,
IBM® DB2®, Sybase, OpenLink Virtuoso, FileMaker 및 Microsoft Office® Access®와 같은 데이터베이스를 대상으로 odbc_query() 함수를
사용한다. 또한, 올바른 ODBC 드라이버를 설치하면 ODBC를 CSV와 Excel 스프레드시트를 대상으로 사용할 수도 있다.
ODBC는 프로그래밍 언어와 데이터 저장소를 연결하는 데 필요한 소프트웨어 드라이버 시스템이다. ODBC는 1992년에 공개된 무료 오프 소스 시스템으로 프로그래밍 언어와 데이터베이스 쿼리 액세스(SQL 표준화) 전체에서 함수 및 구성과 같은 연결 방법을 표준화하기 위해 개발되었다.
ODBC는 2중 인터페이스 또는 커넥터로 역할하도록 설계되었다. 첫째로, ODBC 시스템에 대해서는 프로그래밍 언어 시스템으로 역할을 하고 둘째로, 데이터 저장 시스템에 대해서는 ODBC 시스템으로 역할을 하도록 설계된다. 따라서 ODBC를 사용하려면 프로그래밍 언어와 ODBC를 연결하는 드라이버(예: PHP-ODBC 라이브러리)와 ODBC와 데이터 저장 시스템을 연결하는 드라이버(예: MySQL-ODBC 라이브러리)가 있어야 한다. 이러한 드라이버는 ODBC 시스템 자체에 추가되는 것으로 데이터 소스의 구성을 처리하며 데이터 소스와 프로그래밍 언어에 영향을 받지 않는다.
PHP는 동적 웹 사이트의 기능을 개선할 때 서버측 언어로 일반적으로 사용하는 프로그래밍 언어이다. PHP는 유형이 느슨하게 지정된 동적 언어이므로 유연하다. PHP는 C 프로그래밍 언어에서 영향을 받았기 때문에 많은 개발자들에게 익숙한 언어이다. 1995년에 공개된 무료 오픈 소스 프로그래밍 언어인 PHP를 커넥터를 통해 데이터베이스와 함께 사용하여 웹 브라우저에서 렌더링할 수 있는 XHTML과 HTML을 생성할 수 있다.
SQL은 데이터 저장소에 질의를 하는 데 필요한 클로스 플랫폼 언어이다. 주로 관계형 데이터베이스를 대상으로 사용되지만, 절차형, 오브젝트 지향형 및 오브젝트 관계형 데이터베이스에도 사용된다. 최근에 구현된 SQL은 MySQL, PostgreSQL, SQLite, DB2(상용 및 Express-C 에디션 모두), Microsoft SQL Server, OpenLink Virtuoso, FileMaker 및 Microsoft Access에서 확인할 수 있으며, PHP와 같은 프로그래밍 언어를 사용하여 ODBC를 통해 이러한 모든 데이터베이스에 연결할 수 있다.
일반적인 LAMP(Linux-Apache-PHP-MySQL) 환경을 LAPO(Linux-Apache-PHP-ODBC) 환경으로 변환하는 방법을 살펴보도록 하자. Linux®에서 ODBC 드라이버를 사용하는 방법은 일반적으로 두 가지(iODBC 및 unixODBC 사용)이다. 이 두 가지 드라이버는 각각 장단점이 있지만 PHP와 함께 작동하며 다양한 데이터베이스와 함께 작동한다. iODBC는 전통적으로 PHP 및 Ruby와 같은 웹 프로그래밍 언어와 밀접한 관계가 있을 뿐만 아니라 MySQL 및 OpenLink Virtuoso와 같은 ODBC 친화적 데이터베이스와 안정적으로 작동하므로 여기에서는 iODBC를 사용한다. 그러나 어떤 ODBC를 사용할 것인지는 단지 선택하기 나름이므로 요구되는 효율성을 고려하여 적절한 ODBC를 사용하면 된다. 내부적으로 미묘한 차이가 있지만 iODBC와 unixODBC는 프로그래밍 언어 및 데이터베이스와 동일한 방식으로 연결된다. 다시 말해서 연결 과정에서 동일한 PHP 함수를 사용하며 MySQL이 영향을 받지 않는다.
iODBC와 unixODBC는 Linux 소프트웨어 패키지 관리자에서 사용 가능하다. 예를 들면, Debian, Ubuntu 또는 Linux Mint 명령행에서 sudo apt-get install iodbc를 실행한다.
데이터베이스를 아직 설치하지 않은 경우에는 MySQL이나 PostgreSQL과 같은 데이터베이스 시스템을 설치한다. 그런 다음, ODBC와 데이터베이스를 연결하는 커넥터를 설치한다. 커넥터 설치 방법은 데이터베이스에 따라 달라질 수 있으며, MySQL의 경우 MySQL 웹 사이트에서 해당 운영 체제와 관련된 드라이버를 설치함으로써 커넥터를 설치하게 된다.
apt를 지원하는 Linux 배포판에서는 콘솔에서 sudo apt-get install libmyodbc 명령을 실행한다.
iodbcadm-gtk와 같은 프로그램을 실행하여 ODBC 클라이언트가 설치된 데이터베이스와 함께 작동하도록 구성해야 한다. 수동으로 iODBC 파일을 편집할 수도 있다. (Linux에서는 /etc/iodbc.ini가 이 파일에 해당한다.)
다음에는 PHP ODBC 드라이버를 설치해야 한다. 이 드라이버를 설치하려면 iODBC나 unixODBC를 PHP 컴파일 스크립트에 추가하거나(매우 복잡함), PHP-ODBC
라이브러리를 설치한다. apt 기반 배포판에서는 sudo apt-get install php5-odbc 명령을 사용한다.
대화식 모드(php -a)로 PHP를 실행하여 플로우를 테스트한다. 이 명령을 실행하면 PHP 대화식 콘솔이 열린다. 여기에서 목록 1에 있는 예제와 같은 방식으로
상호 작용할 수 있다.
목록 1. 명령행 ODBC 연결
php > $conn = odbc_connect(
"DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=phpodbcdb",
"username", "password");
php > $sql = "SELECT 1 as test";
php > $rs = odbc_exec($conn,$sql);
php > odbc_fetch_row($rs);
php > echo "\nTest\n—--\n” . odbc_result($rs,"test") . “\n";
Test
----
1
php > odbc_close($conn);
php > exit;
|
목록 1에 있는 코드를 분석해 보도록 하자.
- PHP의
odbc_connect()함수를 사용하여 연결을 설정한다. 이 함수는 ODBC 커넥터 문자열과 사용자 이름 및 비밀번호를 매개변수로 사용한다. 커넥터 문자열은 odbc.ini 파일과 일치하므로 사전에 일치 여부를 확인한다. - 변수를 문자열로 인스턴스화한다. 이 문자열은 SQL문을 나타낸다.
odbc_exec를 사용하여 SQL을 실행한다. 이 명령은 연결 문자열과 SQL 문자열을 받아서 결과 세트를 리턴한다.odbc_fetch_row()함수를 사용하여 이 결과 세트에서 하나의 행을 페치한다. 이 함수는 결과 세트를 매개변수로 받는다. 이 함수는 반복 함수이다. 따라서 이 함수를 다시 호출하면 결과 세트에 더 이상 결과가 없을 때까지(이런 경우에는 false가 리턴됨) 결과 세트에 있는 다음 결과를 얻게 된다.odbc_result()함수를 사용한다. 이 함수는 결과 세트와 열 이름을 문자열로 받아서 행 반복자가 가리키는 행에 있는 셀 값을 리턴한다.odbc_close를 사용하여 ODBC 연결을 닫는다. 이 명령은 연결 자체를 받는다.exit명령을 전송하여 PHP 대화식 모드를 종료한다.
이렇게 하는 것도 좋지만 이 방법은 웹 애플리케이션 확장에는 잘 사용되지 않는다. 클라이언트나 서버 스타일의 웹 브라우징 모드에서 이 방법을 테스트하려면 Apache나 Lighttpd와 같은 웹 서버를 설치해야 한다. (Linux를 실행 중이라면 해당 웹 서비스를 수행하는 데 필요한 PHP 모듈이 있는지 확인한다. 이 모듈이 없으면 PHP가 실행하지 않는다.)
목록 2에는 웹 서버를 통해 실행한 것과 같은 기술이 표시되어 있다. 이 PHP 코드는 목록 1에서 사용한 것과 비슷하지만, 명령행을 사용하여 결과를 내보내는 대신 XHTML을 통해 결과를 내보낸다.
목록 2. XHTML 기반 ODBC 연결 예제
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>PHP and ODBC: XHTML Example 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$conn = odbc_connect(
"DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=phpodbcdb",
"username", "password");
if (!($conn)) {
echo "<p>Connection to DB via ODBC failed: ";
echo odbc_errormsg ($conn );
echo "</p>\n";
}
$sql = "SELECT 1 as test";
$rs = odbc_exec($conn,$sql);
echo "<table><tr>";
echo "<th>Test</th></tr>";
while (odbc_fetch_row($rs))
{
$result = odbc_result($rs,"test");
echo "<tr><td>$result</td></tr>";
}
odbc_close($conn);
echo "</table>";
?>
</body>
</html>
|
이 목록에는 목록 1에는 없는 것이 추가되었다. 이제는 while 루프 내에 odbc_fetch_row() 함수를 배치하여 이 반복 함수를 완전하게 활용하고 있다.
따라서 SQL이 약간 더 복잡해지고 테이블을 쿼리하여 다수의 결과를 얻고자 할 경우에는 렌더링되는 XHTML 테이블에 새로 행을 작성한다.
사용하기 쉽고 다양한 브라우저를 지원하는 XHTML과 HTML 유형이 많이 있다. 목록 2에서는 데이터 중심의 강력한 크로스 브라우저 문서를 개발하는 데 가장 적합한 XHTML 형식 중 하나인 표준화된 XHTML 1.0 Strict를 생성한다.
네 가지 기본 ODBC 함수는 연결 함수, 쿼리 함수, 데이터 페치 함수 및 오류 보고 함수이다. 쿼리 함수는 데이터를 작성하고, 읽고, 업데이트하고 삭제하는 작업(CRUD 조작)을 수행하는 데 필요한 표준 데이터베이스 트랜잭션을 처리한다.
시작된 모든 프로세스는 종료되어야 한다. 그렇지 않으면 메모리와 프로세서에 문제가 생긴다. 그러므로 데이터베이스 연결이 닫히는지 확인한다.
odbc_connect() 함수가 ODBC 친화적인 연결 문자열과 데이터베이스 사용자 이름 및 관련 비밀번호를 받는다는 점을 이미 살펴보았다. 이 함수는 PHP 프로그램
전체에서 사용할 수 있는 연결 오브젝트를 리턴한다. 다음 코드에는 예제가 표시되어 있다.
$connection = odbc_connect($connection_string, $username, $password); |
또한, odbc_close() 함수가 연결 오브젝트를 받아서 ODBC와 데이터베이스의 통신을 종료한다는 사실을 이전 예제에서 이미 살펴보았다. 연결을 닫아야 하며
그렇지 않으면 데이터베이스와 너무 많이 연결되게 되어 데이터베이스 관리 시스템을 다시 시작해야 하거나 심지어 전체 컴퓨터를 다시 시작해야 할 수도 있다는
사실은 아무리 강조해도 지나치지 않다. 이 함수는 odbc_close($connection); 형태로 사용한다.
odbc_exec() 함수는 이미 사용한 적이 있다. 이 함수는 연결 오브젝트와 SQL 문자열을 받고 실행하여 결과 세트 오브젝트를 리턴한다. 결과 세트 오브젝트는
일반적으로 데이터베이스 관리 시스템의 메모리 안에 상주하고 이 오브젝트와 상호 작용하는 함수에 의해서만 판독될 수 있기 때문에 복잡하다. odbc_exec() 행은
$resultset = odbc_exec($connection, $sql); 구문과 비슷하다.
odbc_prepare() 및 odbc_execute 함수는 알 수 없는 변수를 SQL에 주입하는 경우에 매우 유용하다.
odbc_prepare() 함수는 데이터베이스 관리 시스템과 함께 SQL문을 준비한다. 그러면 odbc_execute() 함수가 변수로 이 SQL문을 전송한다. 이렇게 하는 것이
연결된 SQL 문자열을 단순히 PHP로 작성하여 odbc_exec() 함수를 통해 이 문자열을 전송하는 것보다 더 유용하고 안전할 뿐만 아니라 더 효과적이기도 하다.
종합하면 다음과 같이 된다.
$resultset = odbc_prepare($connection, $sql); $success = odbc_execute($resultset, $variables); |
목록 3은 위치와 생일을 나타내는 변수를 기반으로 사용자 테이블에서 사용자를 검색하기 위해 작성한 예제이다.
SQL 문자열에는 물음표(?)가 있는데, 이것은 odbc_execute() 함수의 직렬 배열에 정의된 변수이다.
목록 3. odbc_execute() 함수와 odbc_prepare() 함수를 사용한 SQL 변수 주입
$location = "London";
$mindateofbirth = time() - 567648000; /* i.e. 18 years ago from now */
$resultset = odbc_prepare(
$connection,
"SELECT * FROM user WHERE location = ? AND dateofbirth <= ?"
);
$success = odbc_execute($resultset, array($location, $mindateofbirth));
|
odbc_fetch_row() 함수는 쿼리 결과 세트를 받고 반복자 포인터를 한 행에서 다른 행으로 이동시킨다. 이 함수는 다양한 셀을 페치하기 위해 odbc_result() 함수와 함께
자주 사용된다.
odbc_fetch_row($resultset); |
이전 예제에서는 odbc_result() 함수가 $resultset와 열 이름 문자열을 받아서 셀 값을 리턴했다. 이번에는 결과 세트에 있는 특정 행을 가리키기 위해
odbc_fetch_row() 함수와 함께 사용한다.
$value = odbc_result($resultset,"columnname"); |
odbc_fetch_array() 함수는 쿼리 결과 세트에서 데이터를 페치하는 데 사용되는 반복자 함수라는 점에서 다소 비슷하다.
그러나 이 함수는 열 이름이 키이고 셀이 값인 행을 나타내는 배열을 리턴한다.
$rowarray = odbc_fetch_array($resultset); |
odbc_fetch_object() 함수는 odbc_fetch_array() 함수와 비슷하지만 행을 나타내는 오브젝트 지향 구조를 페치한다. 이 함수는 열 이름을 오브젝트 특성으로,
셀 값을 특성 값으로 저장한다.
$rowobject = odbc_fetch_object($resultset); |
이 함수는 결과 세트를 HTML로 출력하는 데 유용하다. 이 함수는 결과를 단순히 렌더링하지만 프로토타입을 작성하거나 디버깅하는 데 유용하게 사용될 수 있다.
odbc_result_all($resultset); |
odbc_num_fields() 함수는 꽤 멋진 함수로 결과 세트를 받아서 결과 세트의 행 수를 리턴한다.
$numberofrows = odbc_num_rows($resultset); |
유용한 두 가지 PHP ODBC 함수—
odbc_error() 함수는 오류가 발생하면 오류 코드를 리턴하고 오류가 발생하지 않으면 false를 리턴하는 반면에 odbc_errormsg() 함수는
단순한 오류 메시징 시퀀스를 구성하도록 결합될 수 있는 사용자 친화적인 메시지를 리턴한다.
if (odbc_error()) {
echo "I've found a problem: " . odbc_errormsg($conn);
}
|
개발 과정에서 오류가 발생하는 경우에는 문제를 일으키는 행 근처에 print 명령문을 추가하는 것도 한 가지 좋은 방법이다. 물론 다른 문제점을 확인할 때는 이 "디버그 행"을 삭제해야 한다. 다음 PHP 함수는 유용하게 사용될 때가 많다.
print_r($variable); |
이 단순한 함수는 임의의 변수를 받아서 화면에 표시한다. 변수는 정수나 문자열만큼 단순한 것이거나 다차원 배열이나 오브젝트만큼 복잡한 것일 수 있다.
어디서나 배치할 수 있는 웹 애플리케이션(예: Drupal, WordPress 또는 Joomla)을 빌드하는 과정을 생각해 보자. 이러한 애플리케이션은
데이터베이스 1개(예: MySQL)와 이 데이터베이스에 고유한 함수(예: mysql_connect())를 사용하여 빌드한 다음, 다시 조심스럽게 수정하고
함수(즉, pg_connect())를 변경하여 다른 데이터베이스(즉, PostgreSQL)와 작동하게 한다. 구성은 거의 애플리케이션을 초기화하는
과정에서 이루어지고 ODBC 함수는 데이터베이스 시스템과 무관하기 때문에 ODBC를 사용하는 경우에는 이렇게 할 필요가 없다.
그러나 한 가지 알아야 할 점은 모든 데이터베이스 관리 시스템에서 표준화된 SQL을 사용한다고 하더라도 이러한 데이터베이스 관리 시스템에는 고유한 확장이 있을 수도 있다는 사실이다. 이점이 바로 기존의 PHP-MySQL, PHP-PostgreSQL 또는 PHP-MS-SQL 애플리케이션을 PHP-ODBC 애플리케이션으로 변환하는 것이 다소 어려운 이유이다. 따라서 처음부터 애플리케이션을 빌드하는 경우에는 엄격하게 표준화된 SQL이나 매우 일반적인 SQL 확장을 사용하는 데 조심해야 한다.
언급한 바와 같이 ODBC를 사용하여 스프레드시트에 연결할 수 있다. 데이터베이스를 사용할 때는 커넥터를 사용하여 이러한 작업을 수행해야 한다. 커넥터는 여러 가지가 있으며 일부는 오픈 소스이지만 대부분은 소유자가 있다. 한 가지 예들 들면, Windows용 Microsoft Office에는 Excel 스프레드시트용 ODBC 커넥터가 포함되어 있다. ODBC를 사용하여 스프레드시트를 처리하기는 매우 힘들며, 간단한 스프레드시트를 데이터베이스 테이블로 변환하면 많은 문제점이 해결될 수 있다. 그러나 ODBC를 사용하여 스프레드시트를 연결하면 어느 정도는 데이터베이스에 연결된 것처럼 스프레드시트를 처리할 수 있다. 다시 말해서 동일한 ODBC PHP 함수를 통해 그러나 SQL과 같은 언어를 사용하여 Excel의 표준 스프레드시트 공식을 사용할 수 있다.
연결된 데이터가 이동하는 과정을 보면 데이터가 전체 웹에 연결되는 과정을 알 수 있다. 이렇게 하면 데이터의 특정 요소를 인식하는 시스템에서 주로 많은 장점을 얻을 수 있지만, 정보를 더 쉽게 찾기 위해 연결된 데이터를 사용하는 사용자에게도 많은 도움이 된다. 연결된 데이터를 이동할 때는 RDF(Resource Description Framework) 및 WOL(Web Ontology Language)과 같은 기존의 시맨틱 웹 표준과 HTTP 및 OpenID와 같은 인터넷/웹 표준을 사용한다. 연결된 데이터의 연결 방법은 ODBC와 약간 비슷하며 따라서 URI는 연결 문자열과 다소 비슷하고 SPARQL(Semantic Web Query Language)은 SQL과 어느 정도 비슷하다는 점을 연결을 설정하는 과정에서 이해하게 된다.
연결된 데이터가 ODBC와 다소 비슷하다는 이론을 확장하면 ODBC 연결을 "3중 저장소"와 같은 연결된 데이터 저장소에 설정하고 SPARQL 쿼리를 ODBC 연결에 전송할 수 있다. 이러한 경우는 OpenLink Virtuoso에 해당한다. OpenLink Virtuoso를 사용하면 표준 ODBC 연결을 사용하여 연결할 수 있다.
iODBC는 GPL(GNU General Public License) 및 Berkeley Software Development 오픈 소스 라이센스에 따라 이중으로 라이센스되어 있다. UnixODBC 역시 GPL 오픈 소스 라이센스에 따라 라이센스되어 있다. 따라서 이러한 두 가지 라이브러리를 사용하여 무엇을 개발하든지 간에 그것은 오픈 소스가 아니라 사유물이 된다. 또한, Microsoft의 ODBC 드라이버는 사설 소프트웨어의 일부이지만, Microsoft Office 소프트웨어(Access 데이터베이스 및 Excel 스프레드시트의 경우)와 SQL 서버(SQL Server 데이터베이스의 경우)의 라이센싱 협약을 따른다.
ODBC는 범용 연결을 최대화할 수 있는 우수한 기술이다. ODBC를 이용하면 효율성을 개선할 수 있으며 웹 기반의 연결된 데이터와 같은 새로운 형태의 데이터와 함께 작동하도록 애플리케이션을 확장할 수 있다. 그러나 단점도 있다. 사용 가능한 모든 SQL 명령 중 서브세트 하나만 모든 데이터베이스 관리 시스템에서 사용할 수 있기 때문에 범용 연결을 구현하려면 SQL 쿼리를 빌드하는 방법을 조심스럽게 선택해야 한다. 다행히도 이 기사에서는 PHP 프로그래밍 언어를 사용하여 ODBC를 통해 데이터베이스와 작동하려고 할 때 필요한 사항을 살펴보았다.
교육
-
W3chools의 SQL 관련 섹션은 초보자에게 유용한 튜토리얼일 뿐만 아니라 SQL 관련 정보를 참조할 수 있는 고급 참고자료이다.
이 섹션에는 표준화가 진행되는 상황과 데이터베이스 관리 시스템별 작동 상황이 자세히 기술되어 있다.
-
W3Schools의 PHP 관련 섹션은 PHP를 처음 사용하는 개발자뿐만 아니라 PHP 관련 정보를 참조해야 하는 PHP 개발자에게 유용한 또 다른 참고자료이다.
-
PHP.net은 PHP 홈 페이지로 PHP에 대한 모든 것을 다루고 있다.
-
PHP.net에 있는 문서에서 모든 PHP ODBC 함수에 관한 세부사항을 확인할 수 있다.
-
LinkedData.org는 연결된 데이터, 개방형 데이터 연결 및 시맨틱 웹과 관련된 자세한 정보가 있는 우수한 포탈 사이트이다. W3C 시맨틱 웹 포탈도 유용한 참고자료가
될 수 있다.
-
SQL 표준은 국제표준화기구(IOS)에서 유지한다.
-
오픈 소스 기술을 사용하여 개발을 하고 이 기술을 IBM 제품에서 사용하는 데 도움이 되는 하우투 정보, 도구 및 프로젝트 업데이트는 오픈 소스 영역을 참고한다.
-
developerWorks 기술 행사 및 웹 캐스트: 최신 기술에 대한 정보를 얻을 수 있다.
-
기술 서점: 다양한 기술 주제와 관련된 서적을 살펴볼 수 있다.
-
developerWorks 팟캐스트: 소프트웨어 개발자의 흥미로운 인터뷰와 토론을 확인할 수 있다.
제품 및 기술 얻기
-
iODBC.org에는 iODBC의 설치 및 설정과 관련된 정보가 많이 있을 뿐만 아니라 일반 ODBC 및 다양한 데이터베이스 시스템 커넥터 및 프로그래밍 언어와 관련된
몇 가지 유용한 정보가 있다.
-
unixODBC.org에는 unixODBC용 커넥터 드라이버와 설치 및 설정 정보가 있다.
-
MySQL.org는 개발자에게 필요한 MySQL 데이터 베이스 관리 시스템 홈 페이지이다. MySQL은 2010년 1월부터는 Oracle 제품군에 일부가 되었다.
-
MySQL에서 MySQL ODBC 커넥터를 직접 얻을 수 있다.
-
ODBC 데이터 소스 관리자 프로그램의 도움말 파일과 MSDN에 있는 Microsoft ODBC 드라이버 세부사항. 이 두 가지 위치에서, ODBC를 통해
Access, SQL Server 및 Excel과 작동하는 방법에 대한 자세한 내용을 확인할 수 있다.
-
PostgreSQL.org는 PostgreSQL 데이터베이스 관리 시스템의 홈 페이지이다.
-
PostgreSQL ODBC 커넥터 프로젝트는 무료, 오픈 소스 소프트웨어로 사용 가능하다.
-
OpenLink Virtuoso는 "범용 서버"이다.
OpenLink Virtuoso는 웹 호스팅(PHP 언어와 함께 포함), 데이터베이스, ODBC 연결 및 시맨틱 웹 기술을 제공한다. 또한, OpenLink 소프트웨어는
오픈 소스 iODBC 라이브러리를 유지보수하는 역할을 한다. 이 라이브러리는 오픈 소스 및 사설 버전이 있다.
-
OpenLink Virtuoso 이외의 웹 서버는 Apache HTTP Server 및 Lighttpd Server를 확인하자.
토론
-
developerWorks 블로그: 블로그를 읽어 보고 developerWorks 커뮤니티에 참여하자.

Daniel John Lewis는 잉글랜드 출신의 프리랜서 컴퓨터 과학자로 그래픽/색상 설계 전문가의 아들이다. 그는 PHP, Ruby, Java 및 XHTML과 같은 다양한 언어로 웹 애플리케이션을 개발하며 1980년 이후부터 개발 및 설계 소프트웨어를 사용해오고 있다. 그의 전산학 분야의 연구와 컨설팅은 시맨틱 웹, 링크된 데이터, 인공지능, 시스템 학습, 데이터 마이닝 및 "인간성을 위한 컴퓨터 사용"의 "영역에서 수행되는 경향이 있다. 이메일 주소는 daniel@vanirsystems.com이다.