Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有AmazonLinuxAMI和Python的MS SQL驱动程序_Python_Sql Server_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

带有AmazonLinuxAMI和Python的MS SQL驱动程序

带有AmazonLinuxAMI和Python的MS SQL驱动程序,python,sql-server,amazon-web-services,amazon-elastic-beanstalk,Python,Sql Server,Amazon Web Services,Amazon Elastic Beanstalk,我已经看过很多关于PHP的此类文章,但对于Python却没有 我正在尝试在AWS Elastic Beanstalk上部署一个Flask应用程序,以连接到MSSQL数据库。在开发中(在windows上),我一直在使用pyodbc和microsoft sql server驱动程序 基于(大部分已经过时)的博客和其他问题,我一直在尝试使用FreeTDS和unixODBC连接到AWS Linux实例上的数据库,但未能正确配置 我希望能够使用本机Microsoft驱动程序,但Microsoft支持页面没

我已经看过很多关于PHP的此类文章,但对于Python却没有

我正在尝试在AWS Elastic Beanstalk上部署一个Flask应用程序,以连接到MSSQL数据库。在开发中(在windows上),我一直在使用pyodbc和microsoft sql server驱动程序

基于(大部分已经过时)的博客和其他问题,我一直在尝试使用FreeTDS和unixODBC连接到AWS Linux实例上的数据库,但未能正确配置

我希望能够使用本机Microsoft驱动程序,但Microsoft支持页面没有列出Amazon Linux的特定下载。亚马逊声称他们的Linux与Redhat的Fedora相似。我应该下载哪个版本的MS SQL驱动程序以用于Amazon Linux

谢谢

更新:


我已经想出了如何使用FreeTDS,但一旦我部署了我的应用程序,它就比我的开发服务器慢得多了——相反,我采纳了公认答案中的建议,db请求也大大加快了

微软推荐的Python驱动程序是
pyodbc

Linux的版本并不重要(大部分情况下)。它是您需要兼容的Python版本

这篇堆栈溢出文章展示了如何将SqlAlchemy与Flask结合使用:


微软推荐的Python驱动程序是
pyodbc

Linux的版本并不重要(大部分情况下)。它是您需要兼容的Python版本

这篇堆栈溢出文章展示了如何将SqlAlchemy与Flask结合使用:


如果您试图在ElasticBeanstalk上使用FreeTDS,值得注意的是,他们的yum存储库中的版本目前为0.91,这是一个古老的版本(从2011年开始)

一旦我安装了最新版本,我所有的问题都消失了。我不知道这是否能解决您的性能问题,但如果不能,希望它能帮助其他人

以下是我提出的解决方案(直接从源代码而不是过时的yum-repo下载和安装freetds):

  • 在项目中创建一个名为“/.ebextensions/001_install_freetds.config”的文件
  • 粘贴以下内容:
  • 命令:
    000下载免费下载:
    命令:“[!-e/home/ec2 user/freetds-1.00.86.tar.gz]&&wget-ncftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.86.tar.gz -O/home/ec2 user/freetds-1.00.86.tar.gz | | true”
    001_摘录_freetds:
    命令:“[!-e/home/ec2 user/freetds-1.00.86]&&tar-xvf/home/ec2 user/freetds-1.00.86.tar.gz-C/home/ec2 user/| true”
    002\u配置\u自由TDS:
    命令:“[!-e/usr/local/etc/freetds.conf]&&cd/home/ec2 user/freetds-1.00.86&&sudo./configure--prefix=/usr/local--with tdsver=7.4 | | true”
    003\u构建\u免费TDS\u和\u安装:
    
    命令:“[!-e/usr/local/etc/freetds.conf]&&&(cd/home/ec2 user/freetds-1.00.86&&sudo make&&sudo make install)| true”
    如果您试图在ElasticBeanstalk上使用freetds,那么值得注意的是,他们的yum存储库中的版本目前是0.91,这是一个古老的版本(从2011年开始)

    一旦我安装了最新版本,我所有的问题都消失了。我不知道这是否能解决您的性能问题,但如果不能,希望它能帮助其他人

    以下是我提出的解决方案(直接从源代码而不是过时的yum-repo下载和安装freetds):

  • 在项目中创建一个名为“/.ebextensions/001_install_freetds.config”的文件
  • 粘贴以下内容:
  • 命令:
    000下载免费下载:
    命令:“[!-e/home/ec2 user/freetds-1.00.86.tar.gz]&&wget-ncftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.86.tar.gz -O/home/ec2 user/freetds-1.00.86.tar.gz | | true”
    001_摘录_freetds:
    命令:“[!-e/home/ec2 user/freetds-1.00.86]&&tar-xvf/home/ec2 user/freetds-1.00.86.tar.gz-C/home/ec2 user/| true”
    002\u配置\u自由TDS:
    命令:“[!-e/usr/local/etc/freetds.conf]&&cd/home/ec2 user/freetds-1.00.86&&sudo./configure--prefix=/usr/local--with tdsver=7.4 | | true”
    003\u构建\u免费TDS\u和\u安装:
    命令:“[!-e/usr/local/etc/freetds.conf]&&&(cd/home/ec2 user/freetds-1.00.86&&sudo-make&&sudo-make-install)| | true”