• InterSystems IRIS使用python pyodbc连接 windows环境,odbc驱动安装,DSN配置,数据源配置


    一、创建的数据库和数据

    1. SELECT 1
    2. SELECT $ZVERSION
    3. CREATE TABLE MyApp.Person (
    4. ID INT PRIMARY KEY,
    5. Name VARCHAR(100) NOT NULL,
    6. Age INT,
    7. Gender CHAR(1)
    8. );
    9. CREATE TABLE MyApp.Person2 (
    10. ID INT PRIMARY KEY,
    11. Name VARCHAR(100) NOT NULL,
    12. Age INT,
    13. Gender CHAR(1)
    14. );
    15. SELECT Table_Name FROM INFORMATION_SCHEMA.TABLES WHERE Table_Schema = 'MyApp';
    16. INSERT INTO MyApp.Person (ID, Name, Age, Gender) VALUES (1, 'John Doe', 30, 'M');
    17. INSERT INTO MyApp.Person (ID, Name, Age, Gender) VALUES (2, 'John Doe', 30, 'M');
    18. INSERT INTO MyApp.Person (ID, Name, Age, Gender) VALUES (3, 'John Doe', 30, 'M');
    19. select * from MyApp.Person

    二、windows创建的dsn连接

    1、dsn概念介绍

    "DSN" 是数据源名称(Data Source Name)的缩写,是一个在计算机系统中用来标识和连接数据库或其他数据源的名称。DSN 是一种连接数据库的标准方法,通常用于在应用程序和数据库之间建立连接。

    具体来说,DSN 包含了连接数据库所需的信息,如数据库类型、服务器地址、端口号、数据库名称、认证信息等。在使用 ODBC(Open Database Connectivity)或其他数据库连接工具时,可以通过指定 DSN 来简化连接配置过程,避免在每次连接时都重复输入连接信息。

    创建 DSN 通常需要在操作系统的数据源管理工具中进行配置,将数据库的连接信息保存为一个 DSN。在应用程序中,可以直接引用这个 DSN 来建立与数据库的连接,而无需在代码中明确指定所有连接信息。

    总的来说,DSN 提供了一种方便的方式来管理和使用数据库连接信息,使得连接数据库变得更加简单和灵活。

    根据您提供的错误信息,问题仍然似乎是由于未找到数据源名称导致的。在这种情况下,您可以尝试手动创建一个 DSN(数据源名称),然后在连接字符串中使用这个 DSN。以下是一种方法:

    2、手动创建 DSN


        - 在 Windows 操作系统中,您可以通过以下步骤手动创建 DSN:
         - 进入控制面板 > 管理工具 > 数据源(ODBC)
         - 在用户 DSN 或系统 DSN 选项卡中,点击“添加”按钮
         - 选择适当的驱动程序(InterSystems IRIS ODBC Driver 64-bit)
         - 配置连接信息(服务器、端口、数据库等)
         - 保存 DSN

     

    3、python连接

    代码中的dsn就是windows驱动配置的dsn名称

    1. import pyodbc
    2. import time
    3. dsn = 'TestDSN'
    4. username = '_SYSTEM'
    5. password = '123456'
    6. cnxn = pyodbc.connect('DSN=' + dsn + ';UID=' + username + ';PWD=' + password)
    7. cursor = cnxn.cursor()
    8. start = time.perf_counter()
    9. # 执行查询
    10. cursor.execute("SELECT * FROM MyApp.Person")
    11. row = cursor.fetchone()
    12. while row:
    13. print(row)
    14. row = cursor.fetchone()
    15. end = time.perf_counter()
    16. print("Total elapsed time: ")
    17. print(end - start)
    18. input("Hit any key to end")

    三、直接python中创建dsn

    1. import pyodbc
    2. # 定义连接信息
    3. driver = '{InterSystems IRIS ODBC35}'
    4. server = '127.0.0.1'
    5. database = 'test'
    6. username = '_SYSTEM'
    7. password = '123456'
    8. # 建立数据库连接
    9. cnxn = pyodbc.connect(driver=driver, server=server, database=database, uid=username, pwd=password)
    10. # 执行查询等操作
    11. cursor = cnxn.cursor()
    12. cursor.execute("SELECT * FROM MyApp.Person")
    13. row = cursor.fetchone()
    14. while row:
    15. print(row)
    16. row = cursor.fetchone()
    17. # 关闭连接
    18. cnxn.close()

  • 相关阅读:
    盲盒电商平台商业玩法解析
    条件随机场CRF(持续更新ing...)
    spring cloud 快速上手系列 -> 03-消息队列 Stream -> 035-发送消息
    buuctf misc [UTCTF2020]docx
    如何选择scrm系统源码?快鲸scrm系统源码有哪些优势?
    基于python的校园社团管理系统的设计与实现
    Java项目:基于Springboot+vue实现的付费自习室系统设计与实现(源码+数据库+毕业论文)附含微信小程序端代码
    最强AI换脸工具Rope使用教程,Rope整合包下载【全网最全安装步骤】
    如何在 SAP ABAP 系统中使用 Adobe Form
    LLM - 大模型速递 Baichuan2 快速入门
  • 原文地址:https://blog.csdn.net/xixiyuguang/article/details/140439339