sql >> Database teknologi >  >> RDS >> Sqlserver

AWS Lambda-funktion til at oprette forbindelse til SQL Server med Python

  • du skal vide, at Lambda kopierer din funktion i lokale /var/task/
  • opret en forekomst ved hjælp af Lambdas officielle AMIhttps ://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
  • start forekomst, log på
  • yum install gcc gcc-c++
  • gå ind på /home/ec2-user
  • Download den sidste unixodbc-manager fra:ftp://ftp.unixodbc.org/pub/unixODBC/
  • wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.5.tar.gz
  • tar xvzf unixODBC-2.3.5.tar.gz
  • cd unixODBC-2.3.5
  • konfigurer den med den korrekte sysconfdir-værdi

    ./configure --sysconfdir=/var/task --disable-gui --disable-drivers --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --prefix=/home

  • make install
  • Gå til /home dir og copy bin,include,lib,share mappe på din computer, hvor Lambda-projektet er (f.eks.:C:\AWS\Lambda\sql_query)
  • installer Microsoft-driveren libmsodbcsql-13.1.so.9.1 på din EC2-instans, og kopier derefter driverfilen til din pc's lokale mappe (f.eks.:C:\AWS\Lambda\sql_query\msodbcsql\msodbcsql\lib64 )
  • Tag et kighttps://blogs.msdn.microsoft.com/sqlnativeclient/2017/02/04/odbc-driver-13-1-for-linux-released/
  • Opret filen odbcinst.ini
  • i den samme rodmappe på din computer

[ODBC Driver 13 for SQL Server] Description=Microsoft ODBC Driver 13 for SQL Server Driver=/var/task/msodbcsql/msodbcsql/lib64/libmsodbcsql-13.1.so.9.1 UsageCount=1

  • Opret filen odbc.ini

    i den samme rodmappe på din computer

    [ODBC Driver 13 for SQL Server] Driver = ODBC Driver 13 for SQL Server Description = My ODBC Driver 13 for SQL Server Trace = No

  • på dit python-program brug pyodbc:

    import pyodbc def lambda_handler(event, context): server = "xxxxxxxxxxxxxxxxxxxx" database = "xxxxxxxxxxxxxxxxxxxx" username = "xxxxxxxxxxxxxxxxxxxx" password = "xxxxxxxxxxxxxxxxxxxx" cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password) cursor = cnxn.cursor() ...other things....

  • og spil nu spillet!




  1. Vælg n'te percentil fra MySQL

  2. TO_DATE funktion tidszone parse fejl

  3. Brug af Python og MySQL i ETL-processen:Brug af Python og SQLAlchemy

  4. Java - Hvordan konverteres data fra mysql-database til et JSON-array?