sql >> Database >  >> RDS >> Sqlserver

AWS Lambda-functie om verbinding te maken met SQL Server met Python

  • je moet weten dat Lambda je functie kopieert in lokaal /var/task/
  • maak een instantie met Lambda official AMIhttps ://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
  • exemplaar starten, inloggen
  • yum install gcc gcc-c++
  • ga naar /home/ec2-user
  • Download de laatste Unixodbc-manager van: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
  • configureer het met de juiste sysconfdir-waarde

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

  • make install
  • Ga naar /home dir en kopieer bin,include,lib,share directory op je computer waar het Lambda-project is (bijvoorbeeld:C:\AWS\Lambda\sql_query)
  • installeer op uw EC2-instantie het Microsoft-stuurprogramma libmsodbcsql-13.1.so.9.1 en kopieer vervolgens het stuurprogrammabestand naar de lokale map van uw pc (bijvoorbeeld:C:\AWS\Lambda\sql_query\msodbcsql\msodbcsql\lib64 )
  • Kijk eenshttps://blogs.msdn.microsoft.com/sqlnativeclient/2017/02/04/odbc-driver-13-1-for-linux-released/
  • Maak op uw computer in dezelfde hoofdmap het bestand odbcinst.ini

[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

  • Maak op uw computer in dezelfde hoofdmap het bestand 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

  • gebruik in je python-programma 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....

  • en speel nu het spel!




  1. Verkennen van wachtopties voor vergrendeling met lage prioriteit in SQL Server 2014 CTP1

  2. PostgreSQL verwijder alle inhoud

  3. Hoe tekstgegevens in MySQL op te slaan en op te halen met behoud van de regeleinden?

  4. Hoe 'Systeembron overschreden' te repareren bij migratie naar Windows 10