我最近就遇到了这个问题,就上网查了一下,并进行了测试,把自己测试成功的结果发上来,做一个记录。
这里我是在查询分析器中做的测试,因为在程序中我们只要调用相关的代码就可以完成了。根据不同的语言,调用的方法不同,这里不再多说。
这里要提到的是就是openrowset这个SQL命令
基本语法:
OPENROWSET
( '
provider_name
'
, { 'datasource' ; 'user_id' ; 'password'
| ' provider_string ' }
, { [ catalog.] [ schema .] object
| ' query ' }
)
这个是在网上找到的,要想了解细节,你可以查一下MSDN。我只是说一下如果把access导入SQL
, { 'datasource' ; 'user_id' ; 'password'
| ' provider_string ' }
, { [ catalog.] [ schema .] object
| ' query ' }
)
下面是语句:
insert into SQL数据库表名 (这里是相应的表字段,当然了也可以不要这样,直接写下面的,只所以加这个是因为我们在建立表时,有时候会有一个种子字段,就是自动增加1的字段,这时候这个字段是不让导入的。所以你就得把处了这个字段的别的字段都写在这里面)
select 这里是access表的字段 from openrowset
('Microsoft.Jet.OLEDB.4.0','E:\newFile\tt.mdb';'admin';'',Ent_Baseinfo)
Ent_Baseinfo是你access表的表名
E:\newFile\tt.mdb 是数据库的地址与名字
这里要注意的是
admin这个一定要加上,不然会提示你说
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。验证失败。
最后的''是密码,如果有你就加上,没有就算了。
对了,还有,admin是这个表的用户名,如果你有别的名就换上你的名吧。
如果你想在SQL中查询一下Access表的内容哪么只要select 这里是access表的字段 from openrowset
('Microsoft.Jet.OLEDB.4.0','E:\newFile\tt.mdb';'admin';'',Ent_Baseinfo)
这样就行了。
很简单吧,试一下。