---
title: "CsvOleDB@1"
description: "CsvOleDB@1 — legacy: CSV files through the Microsoft ACE OLE DB driver, basic SQL, Windows only"
url: "https://docs.justcat.it/reference/data-sources/providers/csvoledb-1/"
---
# CsvOleDB@1


> **😾:** **Deprecated.** `CsvOleDB@1` still works, but it is no longer maintained and gets no new features. Use [Csv@2](https://docs.justcat.it/reference/data-sources/providers/csv-2/ "Csv@2") instead — the same SQL over CSV files, no driver to install. To load *test definitions* from a CSV file, use [Csv@1](https://docs.justcat.it/reference/data-sources/providers/csv-1/ "Csv@1") until `Csv@2` can serve lists.



## Connects to

CSV files in a directory, read through the Microsoft ACE OLE DB driver. Where [Csv@1](https://docs.justcat.it/reference/data-sources/providers/csv-1/ "Csv@1") only iterates a file, this provider lets the driver process the data with basic SQL — `ORDER BY`, `GROUP BY`, aggregations — which matters when a file is not sorted the way a set comparison needs. The price is a driver to install.

## Example


**Properties**



Name
: MyCsvData

Provider
: CsvOleDB@1

Technology
: Csv

Connection string
: .





**YAML**


```yaml
Data sources:
- Name: MyCsvData
  Provider: CsvOleDB@1
  Technology: Csv
  Connection string: . # this directory (where the project file is)
```




If you are lucky, this works on the first attempt. If not, install the driver — see Prerequisites.

## Connection string

Not a connection string: **a path to a directory** where the CSV files are, relative paths resolved against the directory of the project file. The same slot is also accepted as `Directory` or `Folder` — see [Data source properties](https://docs.justcat.it/reference/data-sources/properties/#connection-string "Data source properties"). Left out, the working directory is used.

What CAT sends to the driver, with the directory path and the [extended properties](#settings) substituted exactly as you provide them:

```
Provider=Microsoft.ACE.OLEDB.16.0;Data Source='{ResolvedDirectoryPath}';Extended Properties="{ExtendedProperties}";
```

## Settings

| Setting | Default | Meaning |
|---|---|---|
| `Extended Properties` | `Text;HDR=YES;FMT=Delimited;` | The driver's text-file options — header row present or not, character set, delimiter and the other basic CSV matters. Passed to the driver as they are. |

When the driver is installed but encoding, delimiters or other basic CSV things misbehave, tweak the extended properties:


**Properties**



Name
: MyCsvData

Provider
: CsvOleDB@1

Technology
: Csv

Connection string
: .

Extended Properties
: Text;HDR=YES;CharacterSet=65001;





**YAML**


```yaml
Data sources:
- Name: MyCsvData
  Provider: CsvOleDB@1
  Technology: Csv
  Connection string: . # this directory (where the project file is)
  Extended Properties: "Text;HDR=YES;CharacterSet=65001;"
```




For the meaning of the individual options refer to the Microsoft Access Database Engine 2016 documentation.

> **🐱:** Microsoft did an excellent job of hiding the documentation (if it even exists) of these settings. You might need to spend considerable time with your favourite search engine.



## Query

A SQL statement as the ACE driver understands it, naming the file in `FROM`. A reference of the supported SQL features is as hard to find as the one for the extended properties; basic SQL works — grouping, aggregations, `ORDER BY` — so do not be afraid to use it.

## Prerequisites

Install the <a href="https://www.microsoft.com/en-us/download/details.aspx?id=54920" target="_blank">Microsoft Access Database Engine 2016 Redistributable</a>. Choose the 64-bit edition:

![MS Access Database Engine 64 bit](ms-access-choose-64-bit.png)

Click *Next* and then *Download*:

![MS Access Database Engine 64 bit](ms-access-download.png)

The installation is straightforward — Next, Next, Next.

## Limitations

* Windows only — the ACE OLE DB driver does not exist for Linux.

## Serving test and data source definitions

`CsvOleDB@1` can also serve [lists](https://docs.justcat.it/reference/project-file/lists/ "Lists") of definitions: a CSV file whose header row carries the property names of a [test](https://docs.justcat.it/reference/tests/properties/ "Test properties"), [data source](https://docs.justcat.it/reference/data-sources/properties/ "Data source properties") or [query](https://docs.justcat.it/reference/queries/properties/ "Query properties") definition, one definition per row; the query's `FROM` names the file.

## Related

* [Technologies](https://docs.justcat.it/reference/data-sources/technologies/ "Technologies") — CSV file and the provider behind it.
* [Csv@2](https://docs.justcat.it/reference/data-sources/providers/csv-2/ "Csv@2") — the replacement: full SQL, no driver.
* [Csv@1](https://docs.justcat.it/reference/data-sources/providers/csv-1/ "Csv@1") — the driverless reader for definition lists.

