在 sp_execute_external_script 中使用时出现 pyodbc.OperationalError

2023-12-21

我的 Python 代码在从 PyCharm 运行时运行良好。

但是当我使用 SQL Server 运行相同的代码时sp_execute_external_script,我收到错误。知道这是怎么回事吗?

Python代码:

import pyodbc
from pandas import DataFrame, read_csv
import glob

def main():
    fullFilePath = r"D:\raw files"
    conn = pyodbc.connect(
        "DRIVER={ODBC Driver 17 for SQL Server};"
        "Server=DESKTOP-PCV7785;"
        "Database=practice_db;"
        "Trusted_Connection=yes;"
        )
    cursor = conn.cursor()
    try:
        cursor.execute("CREATE TABLE tbl_babyNames (babyName nvarchar(100), gender nvarchar(2), number int, fileName nvarchar(50))")
        conn.commit()
    except:
        print("Table tbl_babyNames already exists")
    files = 0
    rows = 0
    files_list = [f[len(fullFilePath)+1:] for f in glob.glob(fullFilePath + "\*.txt")]
    for file in files_list:
        data = read_csv(fullFilePath + "\\" + file, sep=",", header=None, index_col=None)
        data.columns=["babyName", "gender", "number"]
        df1 = DataFrame(data)
        df1["fileName"] = file[:file.find(".txt")]
        for row in df1.itertuples():
            cursor.execute("""
            INSERT INTO practice_db..tbl_babyNames(babyName, gender, number, fileName)
            VALUES (?, ?, ?, ?)
            """,
            row.babyName,
            row.gender,
            row.number,
            row.fileName)
            rows += 1
        conn.commit()
        print("File : {} inserted".format(file))
        files += 1
    conn.close()
    print("Insert is Done!, files: {0} , rows: {1}".format(files, rows))

main()

我在 SQL Server 中运行的内容:

EXECUTE sp_execute_external_script @language = N'Python'
, @script = N'
import pyodbc
from pandas import DataFrame, read_csv
import glob

def main():
    fullFilePath = r"D:\raw files"
    conn = pyodbc.connect(
        "DRIVER={ODBC Driver 17 for SQL Server};"
        "Server=DESKTOP-PCV7785;"
        "Database=practice_db;"
        "Trusted_Connection=yes;"
        )
    cursor = conn.cursor()
    try:
        cursor.execute("CREATE TABLE tbl_babyNames (babyName nvarchar(100), gender nvarchar(2), number int, fileName nvarchar(50))")
        conn.commit()
    except:
        print("Table tbl_babyNames already exists")
    files = 0
    rows = 0
    files_list = [f[len(fullFilePath)+1:] for f in glob.glob(fullFilePath + "\*.txt")]
    for file in files_list:
        data = read_csv(fullFilePath + "\\" + file, sep=",", header=None, index_col=None)
        data.columns=["babyName", "gender", "number"]
        df1 = DataFrame(data)
        df1["fileName"] = file[:file.find(".txt")]
        for row in df1.itertuples():
            cursor.execute("""
            INSERT INTO practice_db..tbl_babyNames(babyName, gender, number, fileName)
            VALUES (?, ?, ?, ?)
            """,
            row.babyName,
            row.gender,
            row.number,
            row.fileName)
            rows += 1
        conn.commit()
        print("File : {} inserted".format(file))
        files += 1
    conn.close()
    print("Insert is Done!, files: {0} , rows: {1}".format(files, rows))

main()
'

我得到的错误:

消息 39004,第 16 层,状态 20,第 10 行
执行“sp_execute_external_script”期间发生“Python”脚本错误,HRESULT 0x80004004。

消息 39019,16 级,状态 2,第 10 行
发生外部脚本错误:

执行时出错。检查输出以获取更多信息。

回溯(最近一次调用最后一次):

文件“”,第 5 行,位于
文件“C:\ProgramData\MSSQLSERVER\Temp-PY\Appcontainer1\BB9FCA34-F670-4555-8B58-B6A3C172718C\sqlindb_0.py”,第 115 行,处于转换中
main() 文件“C:\ProgramData\MSSQLSERVER\Temp-PY\Appcontainer1\BB9FCA34-F670-4555-8B58-B6A3C172718C\sqlindb_0.py”,第 45 行,在 main 中
“DRIVER={用于 SQL Server 的 ODBC 驱动程序 17};”

消息 39019,16 级,状态 2,第 10 行
发生外部脚本错误:

pyodbc.OperationalError: ('08001', '[08001]
[Microsoft][适用于 SQL Server 的 ODBC 驱动程序 17] 命名管道提供程序:无法打开与 SQL Server [5] 的连接。 (5) (SQLDriverConnect);
[08001] [Microsoft][ODBC Driver 17 for SQL Server] 登录超时已过期 (0);
[08001] [Microsoft][SQL Server 的 ODBC 驱动程序 17] 与 SQL Server 建立连接时发生网络相关或实例特定的错误。找不到服务器或无法访问服务器。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。 (5)')

SqlSatelliteCall 错误:执行时出错。检查输出以获取更多信息。来自外部脚本的 STDOUT 消息:SqlSatelliteCall 函数失败。请参阅控制台输出以获取更多信息。

回溯(最近一次调用最后一次):
文件“C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES\lib\site-packages\revoscalepy\computecontext\RxInSqlServer.py”,
rx_sql_satellite_call 中的第 605 行
rx_native_call("SqlSatelliteCall", 参数)
文件“C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES\lib\site-packages\revoscalepy\RxSerializable.py”,第 375 行,在 rx_native_call 中
ret = px_call(functionname, params) RuntimeError: revoscalepy 函数失败。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 sp_execute_external_script 中使用时出现 pyodbc.OperationalError 的相关文章

  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • SQL Server 数据库架构版本控制和更新

    对于我的应用程序 我必须支持更新方案 并且数据库可能会受到影响 我希望能够从旧版本更新到最新版本 而无需安装中间版本 例如 假设我有版本 A 最旧的版本 B 中间版本 和 C 新版本 我希望能够将版本 A 直接更新到版本 C 对于应用程序文
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • 当两个路径可能是相对的时,将路径与 Windows API 结合起来

    我需要能够将两个不同的 Windows 路径 这两个路径都可能是相对的 组合成一个路径 通过将第二个路径应用为第一个路径的扩展 文件系统上是否实际存在任何一条路径都无关紧要 例子 C abc def gt C abc def C abc d
  • 在编写 Tkinter 文本小部件时更新它,而不是在课程结束后更新

    我陷入困境 因为这是在机密机器上编写的 所以我无法在此处复制 粘贴 作为一个新手 我的方法可能是非正统的 我有一个用 Tkinter 编写的 GUI 带有几个按钮 每个按钮都链接到一个类 该类实际上运行一个简短的脚本 单击按钮时 我初始化一
  • redux-saga:对回调返回做出反应的 eventChannel 和侦听器

    在反应原生中后处理程序 https facebook github io react native docs backhandler侦听器对回调函数做出反应并采取适当的行动 我需要读取我的商店并根据它返回 true 或 false 但我无法
  • 在 Swift 中逐行淡入 UITableViewCell

    我是 swift 的新手 我试图拥有一个 UITableView 并且单元格将被动画化以一一出现 我怎样才能做到这一点 另外 如果新出现的单元格行不在屏幕上 隐藏在表格下方 当每个单元格出现时如何向上移动表格 var tableData1
  • 创建效果 上滑时顶部图片被内容覆盖

    I have to create an effect like in the images but I don t know how to do it and also don t know how to call this effect
  • SQL 语句中文字前面的冒号是什么意思?

    使用 在变量之前 例如 userId在这段代码中 public function removeUser userId command Yii app gt db gt createCommand command gt delete tbl
  • AX 形式的图像

    在 Dynamics AX 中 我们在自定义表单中出于各种目的使用大量图像和图标 目前 我们必须在每台客户端计算机上单独安装图像 图标包才能使一切正常工作 有没有一种方法 或最佳实践 来处理 Dynamics 中的图像和图标 这样就不需要在
  • 使用StreamWriter实现滚动日志,并从顶部删除

    我的 C winforms 4 0 应用程序一直使用线程安全的流编写器来执行内部调试日志记录信息 当我的应用程序打开时 它会删除该文件并重新创建它 当应用程序关闭时 它会保存文件 我想做的是修改我的应用程序 以便它进行附加而不是替换 这是一
  • Grails 2.x schema-export 或类似命令能否为给定数据源的模式更新生成 DDL?

    Grails schema export 在生成 DDL 来为特定数据库创建数据库模式方面做得很好 然而我想做的是让 grails 只输出用于更新已创建模式的 DDL 而不是从头开始创建它的 DDL 我认为这应该是可能的 因为 grails
  • 如何获取 PDF 格式的 UITableView 快照

    我有一个UITableView其中填充了一些数据 但由于它包含的数据的单元格数量多于屏幕的可视区域 我只能获取它的快照 我想知道是否有其他方法可以获取整个表格视图pdf快照 这是我尝试过的谢谢 IBAction clickMe id sen
  • 如何对关系代数中不存在的事物进行建模或查询[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想查询所有从未租过的公寓的id 我尝试过这样的事情 a id apartments a id from date Exists end d
  • Linux /proc/kallsyms 文件,内核在哪里保存核心符号列表?

    要显示符号 proc kallsyms 对于模块符号 内核循环遍历以modules内核变量 并迭代每个模块的符号表 但对于 核心 内核内置符号 它使用了一堆内核变量 如以下函数所示 static unsigned long kallsyms
  • 如何使用otool

    苹果建议我使用 strings 或 otool 来检测代码中的私有API isinf 我完全是新手 所以如何使用这些工具有任何帮助 打开终端 Ctrl 空格 gt 输入 终端 并打印示例 otool MVv yourlib a 求助 oto
  • 致命错误:未找到“TCPDF”类

    我正在生成 PDF 文件 但遇到了麻烦 谁能告诉我这个错误的解决方案 下面是我为此使用的代码 我为此包含了 tcpdf 但有一个致命错误 表明 tcpdf 文件不可用 或者我们可以说找不到
  • 创建一个类,使用 es6 类语法创建 Function 对象作为实例

    是否可以创建一个类 用其原型上的方法实例化函数 我正在尝试将代码从原型结构转换为使用 es6 类语法 这是一个人为的 过于简化的起点示例 function createFun init function fun newDats this d
  • 高级项目的语言好用吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 这是我大学的最后一个学期 我必须在十二月做一个大型演讲 我计划设计一种小型语言 它不仅可以工作 而且还具有一些漂亮的功能 有没有人有任何有趣的语法想法
  • 我应该如何在 jQuery 文件上传插件中实现客户端加密?

    我正在尝试在 jQuery 文件上传插件中实现客户端加密 我试图遵循我发现的一些信息 迭代文件数组 将每个项目替换为代表加密文件的 Blob 加密完成后 调用回调 但我目前正在挣扎 var encryptFiles function fil
  • laravel查询php如何获取范围内的最大值

    hello how do i get the max value of scores where column ID range starts at 3 5 example table 我想获得分数的最大值 其中列ID范围为3 5 请帮忙
  • 替换 ASP.NET vNext 中的 HttpHandler

    我读到 HttpHandlers 不是 ASP NET 5 vNext 的一部分 是否有可以使用的替代品 其工作原理相同 我正在寻找一种可以根据实体的 id 加载图像的解决方案 如果该图像不存在 则应显示 非图像 图像 这与 http 处理
  • 在 sp_execute_external_script 中使用时出现 pyodbc.OperationalError

    我的 Python 代码在从 PyCharm 运行时运行良好 但是当我使用 SQL Server 运行相同的代码时sp execute external script 我收到错误 知道这是怎么回事吗 Python代码 import pyod