ODBC (Open Database Connectivity)

 

Short for Open DataBase Connectivity, a standard database access method developed by the SQL Access group in 1992. The goal of ODBC is to make it possible to access any data from any application, regardless of which database management system (DBMS) is handling the data. ODBC manages this by inserting a middle layer, called a database driver , between an application and the DBMS. The purpose of this layer is to translate the application's data queries into commands that the DBMS understands. For this to work, both the application and the DBMS must be ODBC-compliant -- that is, the application must be capable of issuing ODBC commands and the DBMS must be capable of responding to them.

 

From webopedia.com

 


In ArcGIS

 

This tutorial shows (1) how to access your mdb file from ArcGIS, and (2) how to geocode your table using x, y coordinates (assuming that your table contains x, y coordinates).

 

Usually accessing mdb file from other applications (let’s say Arc/Info or Arcview) requires you to create data source using ODBC tools (which can be found at Control Panel – Administrative Tools – Data Sources (ODBC), but ArcGIS support the direct connection through arccatalog. So you don’t need to create data source.

 

Copy Ch06_Review_XY.mdb from P:\geog495aut05 and past into your working folder, say C:\Temp\shwang5

 

Open ArcCatalog (Start – ArcGISArcCatalog)

Connect to your working folder using “Connect To Folder” button (it’s located below the menu Edit)

 

 

Click OK

 

Launch ArcMap by clicking

 

Click OK when ArcMap is open

 

Click “Add Data” tool  to add tables in your mdb file

 

Browse through the folder you connected, double-click the mdb file, and then double-click EMPLOYEE table.

 

Now EMPLOYEE table is added to ArcMap

 

Browse through the table by clicking Open in your right-mouse-click. The table actually contains two more fields that stores x, y coordinates of the address of each employee (it’s fictitious).

 

Now you’re going to geocode EMPLOYEE table using x, y coordinates

 

Right-mouse click on EMPLOYEE, then choose Display X, Y data

 

 

Choose X_COORD for X Field: and Y_COORD for Y Field.

 

In your Display XY data dialog box, choose Edit button under Spatial Reference of Input Coordinates. (This is how you choose coordinate system).

 

Click Select button in Spatial Reference Properties dialog box. Choose Geographic Coordinate System – North America – North American Datum 1983.prj ( I assume this data is collected in the U.S.)

 

 

Click ADD and then OK.

 

Now you will see that EMPLOYEE is geocoded (geocoding means the transformation from non-spatial data to spatial data).

 

Export EMPLOYEE Events into shapefiles

 

 

 

 

Now you create spatial data in shapefile format.

 

This tutorial assumes that you already collected spatial information which can be stored simply in two fields (X_COORD and Y_COORD) as it is represented as a point. But if you work on polygon data (such as COUNTRY), then you have to join non-spatial table in your mdb file to COUNTY data (which is spatial data).

 

 


In Arc/Info workstation

 

This tutorial shows how to access your database file (mdb) from arc/info workstation using SQL statement

 

1. Create data source

 

Before you do this, let’s assume that your mdb file is located in c:\temp\shwang5\ODBC

 

Open Control Panel – Administrative Tools – Data Sources (ODBC)

Click MS Access Database

Click Add button

 

 

Choose Microsoft mdb driver (in the middle)

Click Finish

 

When ODBC Microsoft Access Setup, choose Select button

 

Select your mdb file, then click OK

 

 

Give data source name, say review1 at the top (you just type in)

 

Click OK, and OK

Now you create data source named review1 which is access mdb driver.

 

 

2. Access mdb file from arc/info

 

Open Arc/Info workstation

 

 

Type in the following in the command line.

 

Connect access review1

 

 

You just connect access database named review1

 

Arc/info command DBMSEXECUTE allows you to access your database with SQL statement

 

DBMSEXECUTE <database> <SQL_statement>

You put access for <database>

You put any SQL statements for <SQL_statement>

 

For example,

 

Dbmsexecute access select * from EMPLOYEE

 

Will list all field values from EMPLOYEE

 

 

Try something else, such as

 

dbmsexecute access select count(emp_num) from employee

 

dbmsexecute access select emp_lname from employee where job_code = '501'

 

and see what happen

 

If you’re done, you disconnect database

 

Disconnect access

 

If you are not sure about the syntax of the command, type in help in arc/info workstation, and then type in command in index.

 

 

 

-- END --