注册 登录
编程论坛 SQL Server论坛

把access导入到SQL中其中最后面的...三个点表示什么?

sylknb 发布于 2012-05-25 09:54, 502 次点击
把access导入到SQL中


SELECT id,name INTO table(tid,tname)FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods

其中,table是SQL Server中用来存储Access导入数据的数据表名,ShopGoods是指要导入到SQL Server中的Access数据库中的数据表名。前面的三个点不能省略
前面的三个点表示什么?
3 回复
#2
netlin2012-05-30 20:15
在SQL Server中,数据表的完整名称是采用四级结构:
   数据库服务器名称.数据库名.用户名.表名
平时,我们简单使用数据库时,大多数都是在同一数据库服务器上、同一数据库中、操作的用户都是数据库所有者(dbo),所以,我们可以简单地使用类似下面的命令:
      select * from <表名>
如果访问的数据是跨服务器、跨数据库、不同操作用户时,就要使用如下形式:
      select * from <数据服务器名>.<数据库名>.<用户>.<表名>
如果要访问的数据非SQL Server服务器提供,就称为异构数据库,要使用OPENDATASOURCE ( provider_name, init_string )
函数来连接服务器,它在查询命令中相当于“<数据服务器名>”这一部分。
有些异构类数据库本身只有一个表,所以中间的“<数据库名>”、“<用户>”就可省略,但结构要保持完整,就成了:
     select * from OPENDATASOURCE()...<表名>

以下两个也是用于连接异构数据表的函数,好象比OPENDATASOURCE()更常用。
OPENQUERY ( linked_server , 'query' )
OPENROWSET ( 'provider_name' , { 'datasource' ; 'user_id' ; 'password'| 'provider_string' } , { [ catalog.]  schema.] object | 'query' } )

不知道有没有说清楚,希望能对你有所帮助!


#3
sylknb2012-05-31 09:28
谢谢!再请教 一下
OPENROWSET ( 'provider_name' , { 'datasource' ; 'user_id' ; 'password'| 'provider_string' } , { [ catalog.]  schema.] object | 'query' } ) 括号内的各参数的意义是什么?

#4
lopezzeng2012-09-03 13:07
很好的帖子,很有用
1