Awesome
crystal-tds
A crystal native database driver for Microsoft SQL Server.
The C implementation (freetds), the the Java implementation (jTDS) but also the Wireshark Protocol Plugin for TDS were a real treasure trove for the realization of this project.
Installation
-
Add the dependency to your
shard.yml
:dependencies: tds: github: wonderix/crystal-tds
-
Run
shards install
Usage
This driver now uses the crystal-db
project. Documentation on connecting,
querying, etc, can be found at:
Supported data types
- BIGINT
- BIT
- DATE
- DATETIME
- DATETIME2
- DECIMAL
- FLOAT
- INT
- NTEXT
- NUMERIC
- NVARCHAR
- REAL
- SMALLDATETIME
- SMALLINT
- TEXT
- TINYINT
- VARCHAR
Restriction
Have a look at the issue tracker to get an overview over all restrictions.
Development
- Install Docker
Contributing
- Fork it (https://github.com/wonderix/crystal-tds/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Ulrich Kramer - creator and maintainer
Testing
-
Run Microsoft SQL Server inside docker
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=My-Secret-Pass' -e 'MSSQL_PID=Express' -p 1433:1433 -d mcr.microsoft.com/mssql/server
-
On Mac M1 use
docker run -e "ACCEPT_EULA=1" -e "MSSQL_SA_PASSWORD=My-Secret-Pass" -e "MSSQL_PID=Developer" -e "MSSQL_USER=SA" -p 1433:1433 -d --name=sql mcr.microsoft.com/azure-sql-edge
or
podman machine start podman run -e "ACCEPT_EULA=1" -e "MSSQL_SA_PASSWORD=My-Secret-Pass" -e "MSSQL_PID=Developer" -e "MSSQL_USER=SA" -p 1433:1433 -d --name=sql mcr.microsoft.com/azure-sql-edge
-
Run tests
crystal spec