pypyodbc网络路径工作不正常

2024-09-29 21:44:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python3.6.1和pypyodbc库将.csv文件导入managementstudio中的本地数据库。有人能告诉我为什么这段代码在managementstudio中运行得很好,但在我的pypyodbc脚本中却不能正常工作?在

Python脚本运行时没有任何错误,但它实际上没有将C:\MemberMapUpdates中的新.csv文件插入CSVTest表中。当我在studio命令中运行时,它将按我预期的方式在studio中插入值。任何的见解都是值得赞赏的。谢谢。在

import pypyodbc
connection = pypyodbc.connect('Driver={SQL Server};'
                              'Server=SERVER-SQL;'
                              'Database=server1;'
                              'uid=sa;pwd=Pa$$word!')
cursor = connection.cursor()
SQLCommand = (
               '''
                 drop table if exists CSVTest

                 create table CSVTest
                 (dccode varchar(255),
                 member varchar(255),
                 date_sub date,
                 date_add date,
                 sa_update date,
                 buff_rad float,
                 geom varchar(255),
                 sub_type varchar(255),
                 notes varchar(255))


                 bulk
                 insert CSVTest
                 from 'C:\MemberMapUpdates\MemberMapUpdates.csv'
                 with (FIRSTROW = 3, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
              '''
              )
cursor.execute(SQLCommand)
connection.close()
print('Process Completed')

更新了插入存储过程的脚本

^{pr2}$

这是存储过程:

^{3}$

Tags: 文件csv脚本sqldateserversaconnection
1条回答
网友
1楼 · 发布于 2024-09-29 21:44:49

这个拼图中缺少的部分是connection.commit()

因此,这是我的完整查询,其存储过程与上述相同:

import pypyodbc

connection = pypyodbc.connect('Driver={SQL Server};'
                              'Server=SERVER-SQL;'
                              'Database=DB;'
                              'uid=sa;pwd=PASSWORD;')
cursor = connection.cursor()
SQLCommand = ("exec FirstProcedure;")
cursor.execute(SQLCommand)
connection.commit()
connection.close()
print('Process Completed')

相关问题 更多 >

    热门问题