我想通过Odbc连接从informix数据库中选择一些记录,并将它们插入到Sql数据库表中。
INSERT INTO SAS.dbo.disconnectiontemp
(meterno)
SELECT DISTINCT met_number
FROM Bills.dbadmin.MeterData
我搜索了这一点,但他们并没有解决我的问题。是否可以在一个地方同时使用两个连接? 任何帮助或建议将不胜感激。感谢
答案 0 :(得分:5)
我认为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)
我意识到我带你走向另一个方向,但希望这在某些方面仍然有用。很高兴在需要时提供其他示例。