热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ubuntu下python操作数据库sqlserver

主要是想用树莓派操作sqlserver,这样设备的iot信号采集的时候就可以直接传送到数据库,成本会稍微低一点,不用另外再配置电脑与ser

主要是想用树莓派操作sqlserver,这样设备的iot信号采集的时候就可以直接传送到数据库,成本会稍微低一点,不用另外再配置电脑与server连接,对于一些低成本设备的信号采集很好用。

先用ubuntu测试一下吧:
系统:ubuntu20.04

在unbuntu环境下操作sqlserver没有在windows方便,但好在资源也算丰富,总结起来只要两步就可以了:


  1. 首先配置freetds和unixodbc。
  2. 再配置pyodbc,这步自己折腾的,网上没有现成的。

第一步:配置freetds和unixodbc的时候,用到两个包:freetds和unixodbc
可参考这一篇:
http://blog.sina.com.cn/s/blog_a26e6d690102wxzf.html
不过版本应该是旧的,我这里的版本分别是:
freetds-1.1.23.tar.gz和unixODBC-2.3.7.tar.gz。
安装好时候,一定用进行测试,保证在终端可以访问数据库。

第二步:一定要保证第一步在终端可以连接数据库。
安装pyodbc可参考:
https://www.csdn.net/gather_2b/MtTaUg4sNzkwMC1ibG9n.html
不过看看就好,我全照着来还是有点问题,你们可以试试能否成功。

我呢,只要用到以下命令安装pyodbc
sudo apt install python3-pip
sudo apt install unixodbc-dev
sudo pip3 install pyodbc
安装完毕后,就可以着手写代码了,有个地方是重点:Driver那里,这个一定要注意,网上的驱动都不大对,我的灵感来自这里:
https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-Hive-from-Ubuntu-Debian
DRIVER={/usr/local/freetds/lib/libtdsodbc.so}这是最重要的
附上代码和结果:
在这里插入图片描述
python代码

# coding=utf-8
import pyodbcconn = pyodbc.connect(r'DRIVER={/usr/local/freetds/lib/libtdsodbc.so};SERVER=192.168.1.35,1433;DATABASE=MES;UID=sa;PWD=123')
cursor = conn.cursor()cursor.execute("select * from Table_for_PLC") #调用游标指针的execute方法执行sql语句
row = cursor.fetchone() #sql语句执行结果的获取,如果需要一次获取多条记录,可以使用cursor.fetchall()方法
if row:print (row)conn.commit()
conn.close()

推荐阅读
  • 树状笔记软件for linux,Ubuntu 14.04安装开源树状笔记管理软件 WikidPad 2.2
    WikidPad是一款开源免费的wiki风格的树状笔记管理软件,类似于Notepad。基于Python,支持Windows、Mac、Linux等平台。W ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • python3.7 安装pip3_python3的pip3安装
    ---恢复内容开始---pip3的安装需要对应一整套python的编译工具库,所以安装好的pip3是这个样子:inearAi:~$pip3-Vpi ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • 如何将CentOS8转换为CentOSStream
    CentOS Stream是一个持续交付的Linux发行版,它在RHEL之前处于领先地位。它将具有滚动发布,即不断进行更改。CentOS将成为一个上游版本,它将具有测试补丁和更新。 ... [详细]
  • Ubuntu18.04 安装ROS Melodic && Ros2 Dashing
    https:blog.csdn.netqq_44717317articledetails104547474一、Ubuntu18.04的安装ubuntu2go的制作关于Ubuntu2 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Hive常用命令及其用途,包括列出数据表、显示表字段信息、进入数据库、执行select操作、导出数据到csv文件等。同时还涉及了在AndroidManifest.xml中获取meta-data的value值的方法。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
author-avatar
wugege
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有