How To List All DSN Entries on Your Local Machine using odbc_data_source()?

Submitted by: Administrator
If you are interested to know what DSN entries are available on your local machine, you can use odbc_data_source($con, SQL_FETCH_FIRST) and odbc_data_source($con, SQL_FETCH_NEXT) in a loop to list all DSN entries defined on your local machine. The tutorial script below shows a good example:
<pre><?php
$con = odbc_connect('ggl_SQL_SERVER','sa','GlobalGuideLine');
if (!$con) {
print("There is a problem with the connection. ");
} else {
print("The ODBC connection object is ready. ");
$list = odbc_data_source($con, SQL_FETCH_FIRST);
while ($list) {
foreach ($list as $key => $value) {
print($key . " = " . $value . " ");
}
$list = odbc_data_source($con, SQL_FETCH_NEXT);
}
odbc_close($con);
}
?></pre>
Submitted by: Administrator

If you run this script, you will get something like this:

The ODBC connection object is ready.
server = MS Access Database
description = Microsoft Access Driver (*.mdb)
server = dBASE Files
description = Microsoft dBase Driver (*.dbf)
server = Excel Files
description = Microsoft Excel Driver (*.xls)
server = ggl_SQL_SERVER
description = SQL Server

Warning: odbc_data_source(): SQL error: [Microsoft]
[ODBC SQL Server Driver][SQLServer]Changed database context
to 'GlobalGuideLineDatabase'., SQL state 01000 in SQLDataSources in
C: estggl_center.php on line 12

The error message seems to be very strange. But the result is correct.
Submitted by: Administrator

Read Online MS SQL Server Job Interview Questions And Answers