小编hSi*_*Sin的帖子

pyodbc 错误:“HY090”,字符串或缓冲区长度无效 (0)

目的:

利用 的read_sql_query()to_sql()方法pandas,我的脚本的目标python 3.7是通过读取文件来执行从一台服务器到另一台服务器的多个表的 ETL .sql。两种方法中的连接参数都使用 的create_engine模块sqlalchemy

引发错误:

成功提取并加载第一组表+事务后,出现第四个错误。

 sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('HY090', '[HY090] [Microsoft][ODBC Driver Manager] Invalid string or buffer length (0) (SQLExecDirectW)')
Run Code Online (Sandbox Code Playgroud)

请参阅下文了解更多详情。

程序:

  • 每个提取的表都作为一个 SQL 事务写入;一个 SQL 文件中。

    'ExtractTables.sql'

    SET NOCOUNT ON
    SELECT 
        [ID1]       
    ,   [Name]          
    ,   [LastUpdated]   
    ,   [UpdatedBy]     

    INTO #table1
    FROM DB1.dbo.table1 

    SELECT * FROM #table1

    ;

    SET NOCOUNT ON
    SELECT 
        [ID1]
    ,   [ID2]
    ,   [Descr]

    INTO #table2 FROM DB1.dbo.table2

    SELECT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sqlalchemy python-3.x pandas

7
推荐指数
1
解决办法
8230
查看次数

标签 统计

pandas ×1

python-3.x ×1

sql ×1

sql-server ×1

sqlalchemy ×1