我想通过Odbc连接从notifyix数据库中选择一些记录,并将它们插入到Sql数据库表中。

INSERT INTO SAS.dbo.disconnectiontemp
        (meterno)
SELECT DISTINCT met_number
FROM   Bills.dbadmin.MeterData

我已经搜索过了,但他们没有解决我的问题。是否可以将两个连接都放在一个地方?
任何帮助或建议,将不胜感激。谢谢

最佳答案

我认为,ODBC连接是使用为特定数据库引擎(例如Oracle,MSSQL,PSQL等)定制的ODBC驱动程序进行的,因此,单个查询不能包含两个不同的数据库引擎,因为该查询通过一个数据库来运行。通过ODBC接口(interface)的特定驱动程序。

但是,您可以使用具有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)

我知道我将您带往另一个方向,但希望这在某种程度上还是有帮助的。如果需要,很高兴提供其他示例。

关于c# - 一次查询中的Odbc和Sql连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37827889/

10-12 12:44
查看更多