通常,当我需要使用 C# 连接到数据库时,我会使用以下命令例程:
- 定义 mysql 连接。
- 打开一个 mysql 连接。
- 定义一个 sql 语句/查询。
- 使用 MySqlCommand 执行查询。
示例代码:
string con1 = "server=<db1 IP>;User Id=user;password=password;Persist Security Info=True;database=db1";
string con2 = "server=<db2 IP>;User Id=user;password=password;Persist Security Info=True;database=db2";
MySqlConnection cn1 = new MySqlConnection(con1);
MySqlConnection cn2 = new MySqlConnection(con2);
MySqlCommand com
cn1.Open();
string sql = "some query";
com = new MySqlCommand(sql, cn1);
com.executeNonQuery();
cn1.Close();
我上面的问题在于我使用 MySqlCommand 命令的部分,因为它是指示数据库连接的地方,因此它现在将查询要查询的数据库
MySqlCommand com = new MySqlCommand(sql, con);
其中 sql 是 sql 语句, con 是用于查询的连接。
如何在一个 sql 语句中查询两个数据库?
考虑以下几点:(我正在使用 MySQL)
- I have two databases, db1 and db2.
- db1 is located in City A
- db1 is located in City B
- Both databases have one table (tbl) and they both have the same structure.
- Table structure for tbl:
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| id | int(9) | NO | PRI | | |
| ref_no | int(9) | NO | | | |
| name | varchar(10) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
- I want to run a query on db1.tbl against db2.tbl
- Example query: "select ref_no from db1.tbl where ref_no not in (select ref_no from db2.tbl)"
或者有没有其他方法可以解决这种问题?...