python - 不一致的通信链路故障 (10060) 错误
问题描述
再会,
环境
- Python:Win32 上的 Python 3.8.5(默认,2020 年 9 月 3 日,21:29:08)[MSC v.1916 64 位 (AMD64)]
- pyodbc:'4.0.0-不支持'
- 操作系统:Windows
- 数据库:SQL Server 12.0.200.8
- 驱动程序:“用于 SQL Server 的 ODBC 驱动程序 17”
问题
在将数据推送到 MS SQL 数据库时,我不断收到不一致的错误。
sqlalchemy.exc.OperationalError: (pyodbc.OperationalError) ('08S01', '[08S01] [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.\r\n (10060) (SQLExecute); [08S01] [Microsoft][ODBC Driver 17 for SQL Server]Communication link failure (10060)')
[SQL: INSERT INTO randata.[RAN_regional] (mbnl_cell_id, nominal_id, code, activity_id, acquisition_partner, dici_partner, design_partner, build_partner, [MS1_PreRequisites_ACT], [MS2_Nomination_ACT], [SurveyInstructed_ACT], [MS3_DesignSurveyComplete_FC], [MS3_DesignSurveyComplete_ACT], [SSR_Uploaded], [GA_Instructed], [GA_Submitted_FC], [GA_Submitted_ACT], [GA_ApprovedAcq_ACT], [GA_ApprovedRadio_ACT], [GA_ApprovedBuild_ACT], [GA_Approved_T&T_ACT], [GA_Approved_ALL_ACT], [GA_Rejected_ACT], [GA_RejectionReason], [GDC_Required], [GDC_Instructed_ACT], [GDC_Approved_ACT], [DD_Instructed_ACT], [DD_Submitted_FC], [DD_Submitted_ACT], [DD_Rejected_ACT], [DD_ApprovedBuild_ACT], [DD_Approved_TnT_ACT], [DD_Approved_ALL_ACT], [DNO_AC_ExistingSupply], [REC_UpgradeRequired], [DNO_AC_ProposedSupply], [ServiceRequestFormIssued_SMS], [InstructionToObtainQuote_ACT], [DNO], [DNOConfirmPaymentReceived_ACT], [LeaseReadInstructed_ACT], [LeaseReadComplete_ACT], [ACQ_LeaseExpiryDate], [ACQ_AgreementType_5G], [ACQ_WithinRights], [ACQ_TechnologyRestriction_5G], [ACQ_Antenna_DishRights_5G], [ACQ_Cabinet_CabinRights_5G], [ACQ_AssAprtStlwSprtRights_5G], [ACQ_RequiredUpgradeRights_5G], [AcquisitionInstructed_ACT], [PlanningTypeSSR], [PlanningConstraints], [PlanningTypeSubmitted], [PlanningSubmitted_FC], [PlanningSubmitted_ACT], [PlanningApproved_FC], [PlanningApproved_ACT], [PlanningRefused], [PlanningAppealSubmitted], [AcqPathSSR], [AcqPath], [LLAgent], [HOTsComplete_FC], [HOTsComplete_ACT], [SolicitorsInstrA1submtd_ACT], [LegalsInstructed_ACT], [TypeofLegalsInstructed], [EngrossmentIssued], [EngrossmentReturned], [LegalCompletion_FC], [LegalCompletion_ACT], [AHOP_Submitted_ACT], [AHOP_Approved_ACT], [Ready_to_Access_FC], [Ready_to_Access_ACT], [MS5_SiteAccessed_FC], [MS5_SiteAccessed_ACT], [MS5_ATRISK_SiteAccessed_ACT], [CallOffReceivedfromSWC], [CallOffSubmitted], [MS7_BuildInstructed_FC], [MS7_BuildInstructed_ACT], [BuildStart_FC], [BuildStart_ACT], [CivilsComplete_FC], [CivilsComplete_ACT], [RiggingComplete_FC], [RiggingComplete_ACT], [PowerCabInstall_FC], [PowerCabInstall_ACT], [Jointing_FC], [Jointing_ACT], [Metering_FC], [Metering_ACT], [FuseUpgradeComplete_FC], [FuseUpgradeComplete_ACT], [MS8_BuildComplete_FC], [MS8_BuildComplete_ACT], [DataFillRequested_ACT], [DataFillIssued_ACT], [DIC_FC], [DIC_ACT]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
[parameters: (('AAB002', '', '', 'AAB002_55', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('AAB014', '', '', 'AAB014_55', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('AAB026', '', '', 'AAB026_55', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('AAB063', '', '', 'AAB063_55', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('AAB068', '', '', 'AAB068_55', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('ABC002', '', '', 'ABC002_14', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, datetime.datetime(2020, 6, 17, 0, 0), datetime.datetime(2020, 6, 18, 0, 0), datetime.datetime(2012, 6, 23, 0, 0), 'Expired Lease', '', 'Not Detailed', '10A', 'Not Specific', 'Unclear', 'Yes', None, '', 'None Known', '', None, None, None, None, '', None, 'Qualified Consent (NTBUWOD)', '', '', None, None, None, None, None, None, None, None, None, None, None, datetime.datetime(2030, 12, 31, 0, 0), None, datetime.datetime(2030, 12, 31, 0, 0), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('ABC015', '', '', 'ABC015_55', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, datetime.datetime(2020, 3, 2, 0, 0), datetime.datetime(2020, 6, 2, 0, 0), datetime.datetime(2020, 6, 2, 0, 0), 'In date Lease', 'YES', 'Not Detailed', '10A', 'Not Specific', 'Unclear', 'No', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('ABC018', '', '', 'ABC018_55', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, datetime.datetime(2020, 3, 2, 0, 0), datetime.datetime(2020, 4, 17, 0, 0), datetime.datetime(2018, 6, 22, 0, 0), 'Expired Lease', '', 'Not Detailed', '2A/1D', 'Equipment Room', 'Unclear', 'No', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None) ... displaying 10 of 3432 total bound parameter sets ... ('', '', '', '', '', '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None), ('', '', '', '', '', '', '', '', None, None, None, None, None, None, None, None, datetime.datetime(2021, 3, 2, 0, 0), None, None, None, None, None, None, '', '', None, None, None, None, None, None, None, None, None, '', '', '', None, None, None, None, None, None, None, '', '', '', '', '', '', '', None, '', '', '', None, None, None, None, '', None, '', '', '', None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None))]
(Background on this error at: http://sqlalche.me/e/13/e3q8)
表格从非常小的表格推迟到 ~10-20k 行和 ~150 列。
我使用相同的参数,但错误的出现和消失没有明确的原因。
我的代码
引擎:
我试图改变这些参数:
- 司机
- fast_executemany=假/真
driver = "ODBC Driver 17 for SQL Server"
server = 'server'
username = os.getenv('MSSQL_USER')
password = os.getenv('MSSQL_PASSWORD')
database = 'db'
odbc_str = f'DRIVER={driver};SERVER={server};PORT=1433;UID={username};DATABASE={database};PWD={password}'
connect_str = f'mssql+pyodbc:///?odbc_connect={urllib.parse.quote_plus(odbc_str)}'
engine = sqlalchemy.create_engine(connect_str, fast_executemany=False)
注入 MS SQL:
我试图改变这些参数:
- if_exists='replace'/'append',
- 指数=假/真
- 架构='randata'/没有架构
df.to_sql(sql_table_name,
general.get_engine(),
if_exists='replace',
index=False,
dtype=db_schemas.MS1_MS8_SCHEMA_MAPPING,
schema='data')
你能帮忙解决这个问题吗?谢谢你。达里亚
解决方案
推荐阅读
- ionic4 - 在子目录中使用 AppFlow 部署 Ionic 应用程序?
- python - 如何内联惰性求值?
- plesk - 错误:无法为网站 demovpstest.com 颁发 Let's Encrypt SSL/TLS 证书
- laravel - 如何使用 Laravel Query Builder 获得两个 TIMESTAMPS 之间的 24 小时差异?
- sql - 允许新创建的表从父表继承约束
- php - 如何在 wordpress/php 的同一行中对齐标题和当前日期?
- javascript - React Native 状态不会改变
- php - 使用正则表达式(PHP)从字符串中提取特定数据
- scala - Guice 如何注入类型安全配置?
- r - 如何在 R 中没有打开连接的情况下创建连接对象?