当前位置: 首页 > news >正文

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

一、创建的数据库和数据

SELECT 1SELECT $ZVERSIONCREATE TABLE MyApp.Person (  ID INT PRIMARY KEY,  Name VARCHAR(100) NOT NULL,  Age INT,  Gender CHAR(1)  
);CREATE TABLE MyApp.Person2 (  ID INT PRIMARY KEY,  Name VARCHAR(100) NOT NULL,  Age INT,  Gender CHAR(1)  
);SELECT Table_Name FROM INFORMATION_SCHEMA.TABLES WHERE Table_Schema = 'MyApp';INSERT INTO MyApp.Person (ID, Name, Age, Gender)  VALUES (1, 'John Doe', 30, 'M');
INSERT INTO MyApp.Person (ID, Name, Age, Gender)  VALUES (2, 'John Doe', 30, 'M');
INSERT INTO MyApp.Person (ID, Name, Age, Gender)  VALUES (3, 'John Doe', 30, 'M');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名称

import pyodbc
import timedsn = 'TestDSN'
username = '_SYSTEM'
password = '123456'cnxn = pyodbc.connect('DSN=' + dsn + ';UID=' + username + ';PWD=' + password)cursor = cnxn.cursor()
start = time.perf_counter()# 执行查询
cursor.execute("SELECT * FROM MyApp.Person")
row = cursor.fetchone()
while row:print(row)row = cursor.fetchone()end = time.perf_counter()
print("Total elapsed time: ")
print(end - start)input("Hit any key to end")

三、直接python中创建dsn

import pyodbc# 定义连接信息
driver = '{InterSystems IRIS ODBC35}'
server = '127.0.0.1'
database = 'test'
username = '_SYSTEM'
password = '123456'# 建立数据库连接
cnxn = pyodbc.connect(driver=driver, server=server, database=database, uid=username, pwd=password)# 执行查询等操作
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM MyApp.Person")
row = cursor.fetchone()
while row:print(row)row = cursor.fetchone()# 关闭连接
cnxn.close()

相关文章:

  • 科技与狠活
  • elementui 日历组件el-calendar使用总结
  • GESP C++ 三级真题(2023年9月)T1 ⼩ 杨储蓄
  • Ceph资源池pool管理
  • 常用图像分类、目标检测模型性能测试
  • Spring自动装配
  • C# 4.0 等待线程结束
  • C++ 入门14:STL 容器之向量(vector)
  • C++基础(二)
  • SourceTree rebase(变基)的使用
  • Gooxi受邀参加第三届中国数据中心服务器与设备峰会
  • AGI 之 【Hugging Face】 的【问答系统】的 [评估并改进问答Pipeline] / [ 生成式问答 ] 的简单整理
  • django ninja get not allowed 能用 put delete
  • 2.The DispatcherServlet
  • GitHub连接超时问题 Recv failure: Connection was reset
  • Netty源码解析1-Buffer
  • Service Worker
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 翻译:Hystrix - How To Use
  • 规范化安全开发 KOA 手脚架
  • 警报:线上事故之CountDownLatch的威力
  • 批量截取pdf文件
  • 山寨一个 Promise
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 一文看透浏览器架构
  • 终端用户监控:真实用户监控还是模拟监控?
  • 回归生活:清理微信公众号
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • ​queue --- 一个同步的队列类​
  • ​如何使用QGIS制作三维建筑
  • #### go map 底层结构 ####
  • #FPGA(基础知识)
  • (poj1.2.1)1970(筛选法模拟)
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转) Android中ViewStub组件使用
  • ***利用Ms05002溢出找“肉鸡
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .net 验证控件和javaScript的冲突问题
  • .net(C#)中String.Format如何使用
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • ?.的用法
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [2018-01-08] Python强化周的第一天
  • [ACM独立出版] 2024年虚拟现实、图像和信号处理国际学术会议(VRISP 2024,8月2日-4)
  • [Android] Implementation vs API dependency
  • [Android] 240204批量生成联系人,短信,通话记录的APK