# Start a container that mimic the lambda environment | |
docker run -it --rm --entrypoint bash -e ODBCINI=/var/task -e ODBCSYSINI=/var/task -v "$PWD":/var/task lambci/lambda:build-python2.7 | |
# Then, download ODBC source code, compile and take the output | |
curl ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.5.tar.gz -O | |
tar xvzf unixODBC-2.3.5.tar.gz | |
cd unixODBC-2.3.5 | |
./configure --sysconfdir=/var/task --disable-gui --disable-drivers --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --prefix=/home | |
make install | |
cd .. | |
mv /home/* . | |
mv unixODBC-2.3.5 unixODBC-2.3.5.tar.gz /tmp/ | |
# Install MSsql odbc driver | |
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo | |
ACCEPT_EULA=Y yum -y install msodbcsql | |
export CFLAGS="-I/var/task/include" | |
export LDFLAGS="-L/var/task/lib" | |
# Then you can install pyodbc (or pip install -t . -r requirements.txt) | |
pip install pyodbc -t . | |
cp -r /opt/microsoft/msodbcsql . | |
cat <<EOF > odbcinst.ini | |
[ODBC Driver 13 for SQL Server] | |
Description=Microsoft ODBC Driver 13 for SQL Server | |
Driver=/var/task/msodbcsql/lib64/libmsodbcsql-13.1.so.9.2 | |
UsageCount=1 | |
EOF | |
cat <<EOF > odbc.ini | |
[ODBC Driver 13 for SQL Server] | |
Driver = ODBC Driver 13 for SQL Server | |
Description = My ODBC Driver 13 for SQL Server | |
Trace = No | |
EOF | |
# Test if it works | |
python -c "import pyodbc; print(pyodbc.drivers());" | |
python -c 'import pyodbc;conn = pyodbc.connect("DRIVER={ODBC Driver 13 for SQL Server}; SERVER=YOUr_SERVER:ADD;PORT=1443;DATABASE=TestDB;UID=SA;PWD=<YourStrong!Passw0rd>");crsr = conn.cursor();rows = crsr.execute("select @@VERSION").fetchall();print(rows);crsr.close();conn.close()' |
This comment has been minimized.
This comment has been minimized.
Is it possible that the Amazon AMI update to 2018.03 (23rd May I believe) that could have caused this? |
This comment has been minimized.
This comment has been minimized.
running into same issue as well, its the updated packages causing issues. Will post here if I find anything useful |
This comment has been minimized.
This comment has been minimized.
I will check an alternative to this because Its seems that the
|
This comment has been minimized.
This comment has been minimized.
Thanks Carlo. That is the exact screenshot that I am getting when trying to complete the package build |
This comment has been minimized.
This comment has been minimized.
Confirming that the same steps work in Redhat AMI. |
This comment has been minimized.
This comment has been minimized.
run with yum install unixODBC --disablerepo=amzn* you need to bypass the amzn repolist for installing correct unixODBC |
This comment has been minimized.
This comment has been minimized.
I created a |
This comment has been minimized.
This comment has been minimized.
Hi Everyone! I am facing a similar problem as most of you did before! The Test Script works locally inside the docker container. This is what i did - I created a lambda_function.py and added inside the zip folder Thanks, |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Thanks @ca0abinary! Appreciate it. |
This comment has been minimized.
@carlochess
Having an issue with the install of ACCEPT_EULA=Y yum -y install msodbcsql
Coming up with a dependency issue of unixODBC-2.3.1
Can't see what I am doing wrong, following the instructions to the letter