README.md

# MssqlexV3

[![Build Status](https://travis-ci.org/findmypast-oss/mssqlex_v3.svg?branch=master)](https://travis-ci.org/findmypast-oss/mssqlex_v3)
[![Coverage Status](https://coveralls.io/repos/github/findmypast-oss/mssqlex_v3/badge.svg)](https://coveralls.io/github/findmypast-oss/mssqlex_v3)
[![Inline docs](http://inch-ci.org/github/findmypast-oss/mssqlex_v3.svg?branch=master)](http://inch-ci.org/github/findmypast-oss/mssqlex_v3)
[![Ebert](https://ebertapp.io/github/findmypast-oss/mssqlex_v3.svg)](https://ebertapp.io/github/findmypast-oss/mssqlex_v3)
[![Hex.pm Version](https://img.shields.io/hexpm/v/mssqlex_v3.svg)](https://hex.pm/packages/mssqlex_v3)
[![Hex.pm Downloads](https://img.shields.io/hexpm/dt/mssqlex_v3.svg)](https://hex.pm/packages/mssqlex_v3)
[![License](https://img.shields.io/hexpm/l/mssqlex_v3.svg)](https://github.com/findmypast-oss/mssqlex_v3/blob/master/LICENSE)

Adapter to Microsoft SQL Server. Using `DBConnection` and `ODBC`.

It connects to [Ecto](https://github.com/elixir-ecto/ecto) with [MssqlEcto](https://github.com/findmypast-oss/mssql_ecto).

## WARNING!

This library was forked([Mssqlex](https://github.com/findmypast-oss/mssqlex)) and expanded in a hurried way.
It's not finished. Tests are passing, but docs are in mess. Use it with caution!

## Installation

MssqlexV3 requires the [Erlang ODBC application](http://erlang.org/doc/man/odbc.html) to be installed.
This might require the installation of an additional package depending on how you have installed
Erlang (e.g. on Ubuntu `sudo apt-get install erlang-odbc`).

MssqlexV3 depends on Microsoft's ODBC Driver for SQL Server. You can find installation
instructions for [Linux](https://docs.microsoft.com/en-us/sql/connect/odbc/linux/installing-the-microsoft-odbc-driver-for-sql-server-on-linux)
or [other platforms](https://docs.microsoft.com/en-us/sql/connect/odbc/microsoft-odbc-driver-for-sql-server)
on the official site.

This package is availabe in Hex, the package can be installed
by adding `mssqlex_v3` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [{:mssqlex_v3, "~> 3.0.0"}]
end
```

## Testing

Tests require an instance of SQL Server to be running on `localhost` and a valid
UID and password to be set in the `MSSQL_UID` and `MSSQL_PWD` environment
variables, respectively.

You can create `.env` file and set all required environment variables
```bash
export MSSQL_UID=sa
export MSSQL_PWD='sa_5ecretpa$$'
```

The easiest way to get an instance running is to use the SQL Server Docker image:

```sh
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=$MSSQL_PWD' -p 1433:1433 -d microsoft/mssql-server-linux:2017-latest
```

### Testing info

Maintenance DB - `master`