关于从两个数据库不同的表中读取数据问题???
如下SQL语句: 
 SELECT   *   FROM   Global_User   WHERE   CompanyID   =   1   
 Global_User表是在数据库1里的。   
 再从上面查询的结果里再执行下面的语句:   
    and   Global_User.UserID   not   in   (select   UserID   from   TranTX_User   ) 
 而TranTX_User是在数据库2里。   
 怎么才能很好的执行上面的操作呀?
------解决方案--------------------先从TranTX_User取出数据..再取Global_User数据..   
 for example:   
 string strSql =  "SELECT * FROM Global_User WHERE CompanyID = 1 and UserID not in ( "; 
             SqlConnection con=new SqlConnection ( "连接字符串 "); 
             SqlCommand cmd = new SqlCommand( "select UserID from TranTX_User ", con); 
             con.Open(); 
             SqlDataReader sdr = cmd.ExecuteReader(); 
             while (sdr.Read()) 
             { 
                 //组织字符串 
                 strSql += Convert.ToInt32(sdr[0]); 
                 strSql +=  ", "; 
             } 
             sdr.Close(); 
             con.Close(); 
             strSql = strSql.Substring(0, strSql.Length - 1) +  ") "; 
             //取出Global_User数据,比如把数据存储到DataSet中 
             SqlDataAdapter sda = new SqlDataAdapter(strSql, con); 
             DataSet ds = new DataSet(); 
             sda.Fill(ds,  "UserTable ");   
------解决方案--------------------上面这位兄弟,你这样写SQL语句,看上去可行,但是你怎么数据库连接呀, 
 就是怎么去写: "server=localhost;database=111;uid=sa;pwd=; " 
                "server=localhost;database=222;uid=sa;pwd=; " 
 conn.open();   
 这里有两个数据库连接,怎么打开数据库连接呀?难道写两个conn.open();   
 ==================================================================   
 一个连接就可以了啊   
 你在查询分析器里做一下,如果能通过的话程序里也一定能通过。 
------解决方案--------------------  兄弟看看这样行不?我试过,应该可以滴! 
 SELECT * FROM Global_User WHERE CompanyID = 1 
 and Global_User.UserID not in (select UserID from 数据库2..TranTX_User ) 
------解决方案--------------------创建dblink分为两个步骤:   
    1.建立本地服务名   
    2.-- Create database link  
 create database link TEST.US.ORACLE.COM 
   connect to user identified by pwd 
   using  '(DESCRIPTION = 
     (ADDRESS_LIST = 
       (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521)) 
     ) 
     (CONNECT_DATA = 
       (SERVICE_NAME = orcl) 
     ) 
   ) ';   
 曾经参考语句:   
 CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘数据库连接字符串’;   
 数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.   
 数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样   
 数据库全局名称可以用以下命令查出 
 SELECT * FROM GLOBAL_NAME;   
 查询远端数据库里的表 
 SELECT …… FROM 表名@数据库链接名;     
 附带说下同义词创建:   
 CREATE SYNONYM同义词名FOR 表名; 
 CREATE SYNONYM同义词名FOR 表名@数据库链接名;
------解决方案--------------------加上数据库名就好了 
 SELECT * FROM database.dbo.Global_User WHERE CompanyID = 1 and database.dbo.Global_User.UserID not in (select UserID from database2.dbo.TranTX_User )   
------解决方案--------------------改了下,已测试过了,再不对你就看看你数据库是不是字段名对不上了 
 SELECT * FROM database.dbo.Global_User WHERE CompanyID = 1 and UserID not in (select UserID from database2.dbo.TranTX_User )