jeandormehl/laracache
InterSystems Caché provider for Laravel (ODBC)
Laracaché
Laracaché is an InterSystems Caché database driver package for Laravel. Laracaché is an extension of Illuminate/Database that uses the php-odbc extension to communicate with Caché. This package plays well with Eloquent.
Quick Installation
PHP >= 8.5 and Laravel >= 12
composer require jeandormehl/laracache
🚨 For older versions check the releases page.
Environment variables
Modify your .env file to look similar to this.
DB_CONNECTION=isc
DB_WIN_DSN=
DB_UNIX_DRIVER=/usr/local/cache/2018/bin/libcacheodbcur64.so
DB_HOST=127.0.0.1
DB_PORT=1972
DB_DATABASE=LARAVEL
DB_USERNAME=_SYSTEM
DB_PASSWORD=SYS
Configuration
Publish a configuration file by running the following Artisan command.
php artisan vendor:publish --tag=isc
Setup
Create this file /etc/odbc.ini
[ODBC Data Sources]
cache=cache
[cache]
Driver = /usr/local/cache/2018/bin/libcacheodbcur64.so
Description = InterSystems Cache ODBC Connection
Protocol = TCP
Query Timeout = 1
Static Cursors = 0
Authentication Method = 0
Install these extra packages and extract the Caché driver file.
ODBC-2018.1.7.721.0-lnxubuntux64.tar.gz
# Extra packages
apt update && apt install -y php8.4-odbc unixodbc libodbccr2 odbcinst
# Create this folder
mkdir -p /usr/local/cache/2018
# Extract the driver to the folder above
tar xvzf ODBC-2018.1.7.721.0-lnxubuntux64.tar.gz -C /usr/local/cache/2018
# Install Caché Driver
cd /usr/local/cache/2018 && ./ODBCinstall
odbcinst -i -s -f /etc/odbc.ini
# Binds
ln -s /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 /etc/libodbccr.so
Contribute
You can run this project on VSCODE with Remote Container. Make sure you will use internal VSCODE terminal (inside running container).
composer install
composer test
composer test:coverage
License
The MIT License (MIT). Please see License File for more information.
Related Packages
lumen-db2 is a simple DB2 service provider for Lumen. It provides DB2 Connection...
laravel-db2 is a simple DB2 service provider for Laravel. It provides DB2 Connec...
laravel-ibmi is a simple DB2 & Toolkit for IBMi service provider for Laravel. It...