首页 > 数据库 >用pyodbc 代替 pymssql 连接 mssql

用pyodbc 代替 pymssql 连接 mssql

时间:2023-12-12 14:06:46浏览次数:30  
标签:fr UID SERVER PWD str pymssql pyodbc mssql conn

之前用pymssql 换个python版本就运行不了

换了pyodbc 并且指定odbc diver 就好了

风波老师指出原因 需要指定odbc driver

用pyodbc 代替 pymssql 连接 mssql_Server

#!/usr/bin/env python
# coding: utf-8

import pyodbc
import pandas as pd

statement = 

# 创建连接字符串
conn_str =

# 创建连接
con = pyodbc.connect(conn_str)

df = pd.read_sql(statement, con)
print(df)

创建连接字符串:

格式化字符串避免干扰

server = "SERVER"
database = "DB"
uid = "UID"
pwd = "PWD"

# 方法1 分句使用fr
conn_str = (
    r'DRIVER={ODBC Driver 17 for SQL Server};'
    fr'SERVER={server};'
    fr'DATABASE={database};'
    fr'UID={uid};'
    fr'PWD={pwd};'
)
conn_str
server = "SERVER"
database = "DB"
uid = "UID"
pwd = "PWD"

# 方法2 fr+{{}}
conn_str = (
    fr'DRIVER={{ODBC Driver 17 for SQL Server}};'
    fr'SERVER={server};'
    fr'DATABASE={database};'
    fr'UID={uid};'
    fr'PWD={pwd};'
)
conn_str
# 方法3 {{}}+format
conn_str = (
    r'DRIVER={{ODBC Driver 17 for SQL Server}};'
    r'SERVER={0};'
    r'DATABASE={1};'
    r'UID={2};'
    r'PWD={3};'
).format(*list_config)

标签:fr,UID,SERVER,PWD,str,pymssql,pyodbc,mssql,conn
From: https://blog.51cto.com/u_16055028/8786437

相关文章

  • MSSQL修改DBO
    DECLARE@NAMESYSNAME--表名变量DECLARECSRCURSOR--定义一个游标FORSELECTNAMEFROMSYSOBJECTSWHEREXTYPE='U'--在系统表SYSOBJECTS中取[XTYPE='U'],即取用户表的表名 OPENCSR DECLARE@SCHEMATABLEVARCHAR(200)--定义一个字符串存放执行语句 FET......
  • 使用Navicat For MSSQL连接绿色版SQLServer2008R2问题解决
    问题1、创建连接时出现错误:[IM002][Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序(0)Navicat来连接SQLserver,这里确实有点麻烦,出现错误[IM002][Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序(0),解决方法:进入Navicat的安装......
  • 通过PowerShellPlus示例脚本学习PowerShell-使用SMO创建MSSQL任务
    ##=====================================================================##Title:Create-MSSQLJob-UsingSMO##Description:CreateadailySQLjobtocallapowershellscript##Author:Idera##Date:9/1/2008##Input:-serve......
  • pymssql 报20002错误解决办法:DB-Lib error message 20002, severity 9
    python版本:3.6 win32版本(因为一些特殊原因必须使用3.6)pymssql版本:2.2.0   连接数据库:importpymssql**defInitMssql(self):try:host=self.IniConfig.get('default','dbhost',"host***")user=self.IniC......
  • MSSQL类型转换函数-强制类型转换
    MSSQL类型转换函数-强制类型转换(STR、CONVERT、CAST、PARSE)转换函数将值从一种数据类型转换为另一种。在数据库中很多时候需要把一个类型的数据转换成另一个数据类型来进行运算或者输出显示,这种转换有的时候可以隐士的转换有的时候就需要强制类型转换。在保证数据正确的......
  • 在使用mssql过程中踩过的坑
    测试环境;dockerwithdebian12问题1:如何在docker环境下部署sqlserver:1、部署镜像dockerrun--nameSQLServer-e"ACCEPT_EULA=Y"-e"SA_PASSWORD=Abc12345"-p1433:1433-dmcr.microsoft.com/mssql/server2、进入容器dockerexec-itSQLServerbash3、连接到数......
  • [个人记录] datax同步Oracle数据到MSSQL - 报错提示插入重复主键
    之前试着把Oracle的数据同步到MSSQL,表到表的操作,结果提示插入重复主键,在Oracle使用的是rowid插入到MSSQL表的id主键中去,该id设置了主键约束。一开始很纳闷,怎么会重复插入主键呢?rowid不是唯一的吗?因为搞了很久没搞定,换了其他生成主键的方法也没成功,sys_guid()之类的。......
  • jdbc-批量插入mssql数据库-原
    packagecom.swift.aaa;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.SQLException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassTest2{//staticintcount=......
  • MSSQLSERVER执行计划详解
    转自:https://www.cnblogs.com/knowledgesea/p/5005163.html1.序言本篇主要目的有二:看懂t-sql的执行计划,明白执行计划中的一些常识。能够分析执行计划,找到优化sql性能的思路或方案。如果你对sql查询优化的理解或常识不是很深入,那么推荐几篇博文给你:SqlServer性能检测和优化......
  • mssql database actual combat
    speculatingechoedbitlocation1'unionselect1,2,3,4,5,6;---echobitat2and3mssqlversiondetecting1'unionselect1,@@version,3,4,5,6;---confirmingthecurrentdatabase1'unionselect1,db_name(),3,4,5,6;---##error--......