gpt4 book ai didi

python - 如何使用 python 从树莓派将行插入到 Oracle SQL 数据库中?

转载 作者:搜寻专家 更新时间:2023-10-30 20:35:24 24 4
gpt4 key购买 nike

我目前正在从事一个个人项目,其中包括:

  • 带有 RFID 读写器模块的 Raspberry Pi Model b
  • Oracle SQL 数据库 (11g)
  • Python 脚本

这是我正在尝试做的事情:我需要 Raspberry Pi 发送我从 RFID 标签读取的 UID(唯一标识号),并使用 UID 将一行插入到我的 SQL 数据库中。从 RFID 标签读取的信息是一串数字,可以存储为字符串。

我目前能够读取标签并将 UID 打印到屏幕上。读数由我从网上找到的源代码修改而来的 Python 脚本处理。

我正在努力将 UID 发送到我的 SQL 数据库。我已经研究过 cx_Oracle,但它似乎不存在于 Raspberry Pi 使用的 ARM 架构中。我也研究过 pyodbc,但我似乎也无法正常工作。这是我用来读取 RFID 标签的 Python 脚本。

额外信息:说到 Python,我是个菜鸟,我有 C、Java、JDBC 和 Oracle SQL 的背景。我了解 JDBC 连接的工作原理,但我似乎无法在 Python 中实现相同的理论。对于任何精通 Python 的人,请随时修改我下面的代码以访问 Oracle SQL 数据库。我的数据库的凭据如下:

  • 地址:本地主机
  • 端口:1521
  • 用户:学生
  • 密码:test
  • 方案:学生
  • 表名:EMP

    #!/usr/bin/env python
    # -*- coding: utf8 -*-

    import RPi.GPIO as GPIO
    import MFRC522
    import signal
    continue_reading = True

    # Capture SIGINT for cleanup when the script is aborted
    def end_read(signal,frame):
    global continue_reading
    print "Ctrl+C captured, ending read."
    continue_reading = False
    GPIO.cleanup()

    # Hook the SIGINT
    signal.signal(signal.SIGINT, end_read)

    # Create an object of the class MFRC522
    MIFAREReader = MFRC522.MFRC522()

    # Welcome message
    print "Welcome to the MFRC522 data read example"
    print "Press Ctrl-C to stop."

    # This loop keeps checking for chips. If one is near it will get the UID and authenticate
    while continue_reading:

    # Scan for cards
    (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)

    # If a card is found
    if status == MIFAREReader.MI_OK:
    print "Card detected"

    # Get the UID of the card
    (status,uid) = MIFAREReader.MFRC522_Anticoll()

    # If we have the UID, continue
    if status == MIFAREReader.MI_OK:

    # Print UID
    print "Card read UID: "+str(uid[0])+","+str(uid[1])+","+str(uid[2])+","+str(uid[3])

最佳答案

要访问 oracle 数据库,您需要 Rpi 上的客户端库。

正如您似乎已经发现的那样,这些对于 ARM Linux 架构不存在,当然对于 Raspian O/S 也不存在。

您可以考虑使用适用于 RPi 的 ODBC 驱动程序,看看是否可以让它正常工作。

This Post展示了有人已经尝试过的内容。

而且我还找到了this article ,有人声称已经通过 PHP 为 Rpi 工作。他使用的驱动程序公司(他工作的公司)也有一个 python 驱动程序。然而,看着他们的website该软件是商业软件(可免费试用)并且不声称支持 ARM Linux。尽管您可以尝试使用他们的免费试用版。

Here是具有可用 python 驱动程序的其他 ODBC 驱动程序的列表。

虽然我从来没有尝试过也没有这方面的经验,但是有一种方法可以暴露 SOAP web services来自 oracle 数据库。所以你可以尝试他的方法,这样数据库就可以公开服务,然后你可以从 python 访问 Web 服务。但由于我还没有这样做,所以我不知道有任何限制,也不知道这是否真的适合你。

否则,您将需要采用不同的方法并在 Rpi 和数据库之间使用某种中间件来接收数据并将其插入。或者使用其他数据库!

关于python - 如何使用 python 从树莓派将行插入到 Oracle SQL 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41996329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com