在MSSQL中对ACCESS文件操作方式汇总

CSDN朋友问题回复:

有个ACCESS数据库文件在本机,机器上的OFFICE套件已经卸载,ACCESS没有用户名和密码,如何用MSSQLServer来查询和修改其文件内容?

比如ACCESS物理文件是存放在D盘根目录下的home.mdb,其中包含表‘帐户‘

一ACCESS数据源查询

方式一:链接服务器

--1 新建链接服务器

EXEC sp_addlinkedserver ‘clA‘,  --名称自己起

‘ACCESS‘,   --数据源产品为access

‘Microsoft.Jet.OLEDB.4.0‘,    --数据源OLEDB

‘D:/home.mdb‘ --access数据文件物理路径

--命令已成功完成。

--2.1 利用OPENQUERY函数查询ACCESS数据库

SELECT top 3 *

FROM OPENQUERY(clA, ‘SELECT * FROM 帐户‘)

Go

--result:

AccountID   AccountNumber                                     AccountName                                        AccountTypeID

----------- -------------------------------------------------- -------------------------------------------------- -------------

1           1001                                               房租费                                               1

2           1002                                               交通费                                               1

3           1003                                               电费                                                1

(3 行受影响)

--2.2 直接查询

select * from clA...帐户

--result:

--结果与.1查询结果一致。

方式二:使用OLE DB 连接并访问远程数据的一次性的临时方法

--更改数据库高级配置选项

/*

sp_configure ‘show advanced options‘,1

reconfigure

sp_configure ‘Ad Hoc Distributed Queries‘,1

reconfigure

*/

--查询ACCESS数据库,table为帐户.

SELECT top 3 *

FROM OPENROWSET(‘Microsoft.Jet.OLEDB.4.0‘,

‘D:/home.mdb‘;‘admin‘;‘‘,帐户)

GO

--result:

--结果与.1查询结果一致。

方式三:使用OPENDATASOURCE 连接并访问远程数据的一次性的临时方法

select top 3 *

from OPENDATASOURCE ( ‘Microsoft.Jet.OLEDB.4.0‘

,‘Data Source="D:/home.mdb";User ID=Admin;Password=;‘)...帐户

--result:

--结果与.1查询结果一致。

总结一:对于ACCESS本地数据源的读取,可以用以上三种方式的任意一种。当mdb存在用户名和密码时,

方式一需要添加远程链接登录名,比如执行如下脚本exec sp_addlinkedsrvlogin ‘clA‘,‘false‘,NULL,‘用户名‘,‘用户密码‘;

方式二和方式三则分别在‘admin‘;‘‘和User ID=Admin;Password=中输入相应的密码,这里默认用户是admin。

二ACCESS数据源修改

/*

对于数据源的i/u/d类型操作,建议使用远程链接服务器的方式进行(即.1的方式)。

*/

--举例如下:

update clA...帐户set AccountNumber=10010 where AccountNumber=1001 and AccountID = 1

--result:

(1 行受影响)

三发散知识点:

Q:为何对于非MSSQL数据源的i/u/d操作,通常都建议在远程链接服务器方式下进行呢?

A:远程链接服务器是指通过sp_addlinkedserver搭建数据源链接进行访问的一种方式,通常用于长期频繁的数据源的s/i/u/d操作,

相当于直接进行表操作。对于OPENROWSET和OPENDATASOURCE方式通常是进行一次性的应用操作,除了安全性等原因,它们无法进行

安全管理以及查询目录信息的功能。

Q:如果ACCESS不在本机,还可以用上述方式查询吗?

A:变化一下思路,将ACCESS在异地的文件转换为本机。比如home.mdb文件是在.168.1.1机器上,则我们可以使用

//192.168.1.1//共享文件夹/home.mdb形式,当然前提是设置了共享文件夹;另外还可以尝试打开默认共享,比如

//192.168.1.1/D$/home.mdb。当然任何想法和思路都要以适合应用为前提,简单便捷安全为前提。这里仅提供思路,

不表示该方式一定可以实现,因为涉及面不仅仅是数据库方面,还涉及到网络共享等。

时间: 2024-11-13 14:02:10

在MSSQL中对ACCESS文件操作方式汇总的相关文章

C#中实现excel文件批量导入access数据表中

一 .界面简单设计如下: 二 .代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.Data.S

Cacti监控MySQL实现过程中碰到的问题解汇总

前言:cacti监控mysql服务器的大概50张graphs都弄出来了,也出图了,其中遇到一些问题,印象比较深刻的记录如下: (一):添加io监控 点击Create Graphs for this Host 进去创建IO的图,结果报错 This data query returned 0 rows, perhaps there was a problem executing this data query. You can run this data query in debug mode  t

node.js项目中使用coffeescript的方式汇总

Coffeescript作为Javascript低调的小弟实在是有过人之处,使用它可以增进开发效率,减少代码错误, 关键是能大幅提升开发愉悦感.我越来越觉得只要可能就在自己的项目中把coffee用起来. 然而也许你和我一样,在了解完coffeescript的语法后准备一试身手的时候,却面对如何把它引入项目而犯起愁来. 其实coffeescript这种语言因其可以一对一地翻译为javascript的特性,使用起来其实非常灵活. 将其引入项目的方式也不止一个.这里,我先就node项目引入coffee

Linux中如何查看文件的最初创建时间

查看 一个文件的 最初创建时间: Linux中如何查看文件的最初创建时间 linux 目前Linux没有直接查看创建文件的命令,你只能通过文件是否被修改过来进行判断. //查看代码stat 文件名 //例如:[[email protected] ~]# stat 1.txt  File: "1.txt"  Size: 18              Blocks: 8          IO Block: 4096   普通文件Device: fd00h/64768d    Inode

微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据

开篇介绍 来自 天善学院 一个学员的问题,如何在 SSIS 中导入 ACCESS 数据表中的数据. 在 SSIS 中导入 ACCESS 数据库数据 ACCESS 实际上是一个轻量级的桌面数据库,直接使用文件形式存储.在国内大量使用 ACCESS 作为 BI 数据源并不多,但是在国外特别是美国使用的还比较多,因为他们的 IT 基础起步比较早.在我的第一个美国的医疗保险项目中,就遇到过大量的 ACCESS 数据源,前后总共有 500 多个 ACCESS 表.而现在从国外一些朋友反馈的情况仍然还有在使

Windows平台上安装LaTex工具以及LaTex常见的文件类型汇总

LaTex广泛用于学术报告.paper.学术PPT的撰写和制作,熟练掌握LaTex是在学术界生存的必备基本技能之一.本文简要介绍了在Windows平台上安装LaTex工具的基本方法和流程以及LaTeX常见的文件类型. 1.下载MiKTeX,下载地址为:http://miktex.org/download.MiKTeX的正确读音为/'mik'tek/. 2.安装MikTeX.安装完毕后,在开始菜单会出现"Previewer"和"TeXworks"程序图标.Previe

如何在Asp.net中备份Access数据库?

public   void   Create(   string   mdbPath   ) { if(   File.Exists(mdbPath)   )   //检查数据库是否已存在 { throw   new   Exception( "目标数据库已存在,无法创建 "); } //   可以加上密码,这样创建后的数据库必须输入密码后才能打开 mdbPath   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= &

获取iPod library中的媒体文件

[获取iPod library中的媒体文件] The Media Player framework provides facilities for playing movie, music, audio podcast, and audio book files. This framework also gives your application access to the iPod library, letting you find and play audio-based media it

通过assets像安卓程序目录中导入数据库文件出现错误的解决办法

错误提示如下,下面的错误信息 08-13 07:36:31.396: W/System.err(9814): java.io.IOException 08-13 07:36:31.416: W/System.err(9814):  at android.content.res.AssetManager.readAsset(Native Method) 08-13 07:36:31.416: W/System.err(9814):  at android.content.res.AssetMana