平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“SQL2005Express中导入ACCESS数据库的两种做法”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
方法一:单表导入
落到代码里,(1)打开"SQL Server 应用设置器"-->"功能的应用设置器" -->些服务默认是关闭的,若不打开,将不能进行导入操作。
在"Database Engine"下选择"即席远程查询"-->启用 openrowset 和opendatasource 兼容(E)
如下所示图:
(2)在SQL Server Management Studio Express中"新建查询"
输入:
select * into [SQL2005中的表名]
from opendatasource('microsoft.jet.oledb.4.0','data source="access数据库文件路径";user id=admin;password=;')...[access中要导入的表名]
如:将Access数据库文件"D:210myAccessDB.mdb"中的"学生"表导入SQL2005中
可写为:
select * into 学生A
from opendatasource('microsoft.jet.oledb.4.0','data source="D:210myAccessDB.mdb";user id=admin;password=;')...[学生]
理解这一步时,执行后,在SQL2005中自动多了一个名为"学生A"的表,内容与Access数据库文件"D:210myAccessDB.mdb"中的"学生"表相同。
方法二:借助ACCESS的升迁向导导入数据
(1)打开ACCESS数据库
如下所示图:

(2)从菜单栏选择-->"数据库实用工具(D)"-->"升迁向导(U)"

(3)升迁方式--此例中借助新建数据库进行升迁

(4)<图1>所示中填写SQL服务器名称(见<图2>),以及升迁后的数据库名称
<图1>

<图2>

(5)选择准备导出到SQL Server的表

(6)升迁表属性设置
]
(7)

(8)升迁完毕

(9)升迁完毕后SQL2005中多了个TestSQL数据库,如下所示图
