---
name: "osql"
section: "1"
platform: "linux"
package: "freetds"
version: "1.5.20-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/osql"
---

# osql(1)

utility to test FreeTDS connections and queries

## NAME

**osql** – utility to test FreeTDS connections and queries

## SYNOPSIS

**osql** **-S** *dsn* **-U** *username* **-P** *password* \[**-I** *ini\_directory*\]

## DESCRIPTION

**osql** is a diagnostic tool provided as part of FreeTDS. It is a Bourne shell script that checks and reports on your configuration files. If everything checks out OK, it invokes isql.

**osql** works only with the isql that comes with unixODBC.

## OPTIONS

- **-S** *dsn*

  the Data Source Name to which to connect, as known to  *odbc.ini*.

- **-U** *username*

  database login name.

- **-P** *password*

  database password.

- **-I** *ini\_dir*

  override *odbc.ini* file location.

## EXAMPLE

If you have an *odbc.ini* with a section like this:

```
[myDSN]
servername = myserver
TDS_Version = 5.0
```

You would invoke  **osql** as:

osql -S myDSN \[...\]

## FILES

*odbc.ini* *freetds.conf*

## NOTES

If you can connect with‘osql -S servername -U user -P passwd’, your FreeTDS ODBC installation is working.

**osql** guesses where unixODBC might look for its *odbc.ini* by examining the binary. This is not always an effective approach. If it doesn't work, you'll receive a report of candidate strings. Kindly pass along the output to help improve the guessing.

If **osql** cannot intuit your *odbc.ini* directory, you can force the issue with the  **-I** option. However, you're then instructing  **osql** what to test, not where unixODBC will eventually look. Your override is therefore only as good as you are. Look carefully at the error output before overriding.

If you have suggestions for ways to make **osql** more useful as a diagnostic tool, please post them to the FreeTDS mailing list.

## HISTORY

**osql** first appeared in FreeTDS 0.65.

## AUTHORS

The  **osql** utility was written by  James K. Lowden.
