一个查询中的 Odbc & Sql 连接
Odbc & Sql connection in one query
我想 select 通过 Odbc 连接从 informix 数据库中获取一些记录,并将它们插入 Sql 数据库 table。
INSERT INTO SAS.dbo.disconnectiontemp
(meterno)
SELECT DISTINCT met_number
FROM Bills.dbadmin.MeterData
我已经搜索过重新分级,但他们没有解决我的问题。是否可以将两个连接放在一个地方?
任何帮助或建议将不胜感激。谢谢
我认为 ODBC 连接是使用为特定数据库引擎(例如 Oracle、MSSQL、PSQL 等)定制的 ODBC 驱动程序建立的,因此,单个查询不能包含两个不同的数据库引擎,因为查询通过 ODBC 接口通过特定的驱动程序运行。
但是,您可以在任何具有 ODBC 库的编程语言中使用简单的脚本轻松地在代码中使用两个 ODBC 驱动程序。例如,我使用 Python 和 pyodbc
来初始化多个连接并在 MSSQL、MySQL 和 PSQL 数据库之间传输数据。这是一个伪代码示例:
import pyodbc
psql_cursor = pyodbc.connect('<PSQL_ODBC_CONNECTION_STRING>').cursor()
mysql_cursor = pyodbc.connect('<MYSQL_ODBC_CONNECTION_STRING>').cursor()
result_set = mysql_cursor.execute('<SOME_QUERY>').fetchall()
to_insert = <.... Some code to transform the returned data if needed ....>
psql_cursor = psql_cursor.execute('insert into <some_table> VALUES (%s)' % to_insert)
我意识到我将带您走向不同的方向,但希望这在某种程度上仍然有所帮助。如果需要,很乐意提供其他示例。
我想 select 通过 Odbc 连接从 informix 数据库中获取一些记录,并将它们插入 Sql 数据库 table。
INSERT INTO SAS.dbo.disconnectiontemp
(meterno)
SELECT DISTINCT met_number
FROM Bills.dbadmin.MeterData
我已经搜索过重新分级,但他们没有解决我的问题。是否可以将两个连接放在一个地方?
任何帮助或建议将不胜感激。谢谢
我认为 ODBC 连接是使用为特定数据库引擎(例如 Oracle、MSSQL、PSQL 等)定制的 ODBC 驱动程序建立的,因此,单个查询不能包含两个不同的数据库引擎,因为查询通过 ODBC 接口通过特定的驱动程序运行。
但是,您可以在任何具有 ODBC 库的编程语言中使用简单的脚本轻松地在代码中使用两个 ODBC 驱动程序。例如,我使用 Python 和 pyodbc
来初始化多个连接并在 MSSQL、MySQL 和 PSQL 数据库之间传输数据。这是一个伪代码示例:
import pyodbc
psql_cursor = pyodbc.connect('<PSQL_ODBC_CONNECTION_STRING>').cursor()
mysql_cursor = pyodbc.connect('<MYSQL_ODBC_CONNECTION_STRING>').cursor()
result_set = mysql_cursor.execute('<SOME_QUERY>').fetchall()
to_insert = <.... Some code to transform the returned data if needed ....>
psql_cursor = psql_cursor.execute('insert into <some_table> VALUES (%s)' % to_insert)
我意识到我将带您走向不同的方向,但希望这在某种程度上仍然有所帮助。如果需要,很乐意提供其他示例。