SQL SERVER:
CREATE TABLE [dbo].[TABLE1] (
[编号] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,
[名称] [char] (50) NOT NULL ,
[时间] [datetime] NOT NULL ,
[数据1] [image] NULL ,
[数据2] [image] NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GOACCESS: 基本同上,多一个IDINSERVER即:
[编号] [INT],
[名称] [char] (50) NOT NULL ,
[时间] [datetime] NOT NULL ,
[数据1] [image] NULL ,
[数据2] [image] NULL 
         [IDINSERVER] [INT]希望从SQL里选择那些编号不等于ACCESS中IDINSERVER的记录。请大侠指点。

解决方案 »

  1.   

    这样来做:
    1。将你access库中的那个表,利用DTs导入到sql server中
    2。然后这样来写
    select *  from table1
    where id not in(select id from table2)
    3.table2为你的access数据库中的那个表。
      

  2.   

    执行 sp_addlinkedserver 来创建链接服务器,指定 Microsoft.Jet.OLEDB.4.0 作为 provider_name,指定 Access .mdb 数据库文件的完整路径名作为 data_source。.mdb 数据库文件必须驻留在服务器上,data_source 在服务器上而不是在客户机上进行评估,路径必须是服务器上的有效路径。 
    例如,若要创建一个名为 Nwind 的链接服务器,对 C:\Mydata directory 目录中名为 Nwind.mdb 的 Access 数据库进行操作,请执行:sp_addlinkedserver 'Nwind', 'Access 97', 'Microsoft.Jet.OLEDB.4.0', 
        'c:\mydata\Nwind.mdb'为访问非保密的 Access 数据库,试图访问 Access 数据库的 SQL Server 登录应该有一个为用户名 Admin 定义的没有密码的登录映射。 
    下例使得本地用户 Joe 可以访问名为 Nwind 的链接服务器。sp_addlinkedsrvlogin 'Nwind', false, 'Joe', 'Admin', NULL要访问保密的 Access 数据库,需使用注册表编辑器配置注册表,以便使用 Access 所用的正确的工作组信息文件。使用注册表编辑器向该注册表项中添加 Access 使用的工作组信息文件的完整路径名称:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB配置了注册表项后,请使用 sp_addlinkedsrvlogin 创建从本地登录到 Access 登录的登录映射:sp_addlinkedsrvlogin 'Nwind', false, 'Joe',
                            'AccessUser', 'AccessPwd'Access 数据库没有目录和架构名称。因此,基于 Access 的链接服务器中的表可以在分布式查询中使用表单 linked_server...table_name 的四部分名称进行引用。下例从名为 Nwind 的链接服务器中检索 Employees 表的所有行。SELECT * 
    FROM Nwind...Employees创建链接服务器以访问 Excel 电子表格用于 Jet 4.0 的 Microsoft OLE DB 提供程序可用于访问 Microsoft Excel 电子表格。 若要创建访问 Excel 电子表格的链接服务器,请使用下例中的格式。 
    sp_addlinkedserver N'Excel', N'Jet 4.0',
                       N'Microsoft.Jet.OLEDB.4.0',
                       N'c:\data\MySheet.xls', NULL, N'Excel 5.0'
    GO
    sp_addlinkedsrvlogin N'Excel', false, sa, N'ADMIN', NULL
    GO若要访问 Excel 电子表格中的数据,请将单元范围与名称相关联。可以通过将范围名称用作表名来访问命名范围。通过使用在上例中设置的链接服务器,下面的查询可用于访问称为 SalesData 的命名范围。 
    SELECT *
    FROM EXCEL...SalesData
    GO将某行插入命名单元范围时,该行将添加到命名单元范围的最后一行之后。因此,如果想在列标题后插入行 rA,则将列标题单元与某个名称关联并使用该名称作为表名。当插入行时,单元范围将自动增长。 设置链接服务器以访问格式化文本文件用于 Jet 的 Microsoft OLE DB 提供程序可用于访问并查询文本文件。 若要直接创建访问文本文件的链接服务器而不将文件链接为 Access .mdb 文件中的表,请执行 sp_addlinkedserver,如下例所示。 
    提供程序是 Microsoft.Jet.OLEDB.4.0,提供程序字符串为"Text"。数据源是包含文本文件的目录的完整路径名称。schema.ini 文件(描述文本文件的结构)必须与此文本文件存在于相同的目录中。有关创建 schema.ini 文件的更多信息,请参见 Jet 数据库引擎文档。--Create a linked server.
    EXEC sp_addlinkedserver txtsrv, 'Jet 4.0', 
        'Microsoft.Jet.OLEDB.4.0',
        'c:\data\distqry',
        NULL,
        'Text'
    GO--Set up login mappings.
    EXEC sp_addlinkedsrvlogin txtsrv, FALSE, NULL, Admin, NULL
    GO--List the tables in the linked server.
    EXEC sp_tables_ex txtsrv
    GO--Query one of the tables: file1#txt
    --using a 4-part name. 
    SELECT * 
    FROM txtsrv...[file1#txt]
      

  3.   

    不好意思,什么是链接服务器?
    关于你第一种方法,我这个问题主要想法就是不要在本地和SQL之间频繁传送多个数据,所以判断如果本地或者服务器上有了,就不再传了。
    不过实在不行,这个方法也是不错的。:)