我们在一些情况下,要把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) 这样就行了。 很简单吧,试一下。 |
|
来自: aaie_ > 《SqlServer》