我本无名
菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。
     我们在一些情况下,要把access数据库中的内容导入到SQl数据库,当然了,方法有很多,可以直接在SQL server中操作就可以完成。可是有些时候我们要用程序来完成。比如在asp,asp.net中来完成。这样就要运行一些代码来完成。
我最近就遇到了这个问题,就上网查了一下,并进行了测试,把自己测试成功的结果发上来,做一个记录。
这里我是在查询分析器中做的测试,因为在程序中我们只要调用相关的代码就可以完成了。根据不同的语言,调用的方法不同,这里不再多说。
这里要提到的是就是openrowset这个SQL命令

基本语法:


OPENROWSET ( 'provider_name'
    , { 'datasource' ; 'user_id' ; 'password'

        | 'provider_string' }
    , { [ catalog.] [ schema.] object
        | 'query' }
    )
这个是在网上找到的,要想了解细节,你可以查一下MSDN。我只是说一下如果把access导入SQL
下面是语句:
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)
这样就行了。
很简单吧,试一下。

posted on 2007-12-15 10:49  我本无名  阅读(460)  评论(0编辑  收藏  举报