当前位置:首页 » 数据仓库 » sql根据excel数据更新数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql根据excel数据更新数据库

发布时间: 2022-04-02 18:14:28

‘壹’ sql如何获取Excel中的一列来更新数据库里的一列

update a set a.字段名=b.列名 from 表名 a, OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\excel.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$] b where a.标识字段=b.标识字段

‘贰’ excel 数据 来自 sql 能更新数据库吗

excel 数据 来自 sql 能更新数据库吗
在数据库初始阶段,我们有些数据在EXCEL中做好之后,需要将EXCEL对应列名(导入后对应数据库表的字段名),对应sheet(改名为导入数据库之后的表名)导入指定数据库,相当于导入一张表的整个数据。导入之前需要检查是否存在同名的表,导入的数据表以“$”结尾就是为了避免表重复,以作区分。

‘叁’ 根据excel表更新sql数据

是不是你已经打开文件了?已打开的excel文件是占用状态,很多需要独占权限的程序都无法使用。
举个例子,一个已打开的excel文件是无法通过QQ传输的。
这样可以么?

‘肆’ 如何将实时更新的excel表格导入sql数据库并且sql数据库也随着excel表格实时更新

这个貌似比较麻烦。
SQL2014可能有这样的功能。

我所知道的方法就是配置个ETL(SSIS)的包,定时的执行,这样有点延时。

‘伍’ 在excel 来执行update语句这样子,sql中对应的数据做更新

我理解你的数据已经放在EXCEL 中,然后想执行数据更改。如果是这样,可以添加一列,用if语句,比如bill 字段列为c列,id 所在的列为a列,从第二行开始,if(a2=2,7,c2).然后公式下拉。
之后,你可以用这一列代替bill所在的列,也可以复制此列,数值粘贴覆盖bill所在的列。
如果数据仍然在数据库,想通过excel去操作,这个就要麻烦一点。涉及到数据连接等等。

‘陆’ 在从excel导入数据到sql sever中的情况下,如何做到当excel中数据产生更新,同步更新sql sever中数据

应对两表的数据进行关联,即sql sever中的数据直从excel表中的地址引入。

‘柒’ 依据excel表中更新数据库

不知道是什么数据库.
我先假设是 ACCESS, 这样最简单。
Access 里面, 创建一个 链接表, 链接到这个 Excle 文件。
这个链接表的名字,就命名为 A
再假设你那个数据库里面的表,是B.
那么.

UPDATE A INNER JOIN B ON A.C = B.C SET B.D = A.D, B.E = A.E
是把 Excel 的,更新到数据库

UPDATE A INNER JOIN B ON A.C = B.C SET A.D = B.D, A.E = B.E
是把 数据库 的,更新到Excel

其他数据库的话,就看是否支持创建个Excel数据库链接的功能。

-----
如果是 SQL Server 的话,我这里没有 SQL 2000, 只有个 SQL 2008
下面的代码,我这里报错,不知道 SQL 2000 那里行不行

直接在 SQL Server 里面执行

SELECT *
FROM OpenDataSource(
'Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\A.EXCEL";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]

或者

SELECT *
FROM OpenDataSource(
'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;DATABASE=d:\A.EXCEL)...[Sheet1$]

注意, 把你那个 Excel 表格, 有数据的那个 Sheet 名字, 替换掉上面的 Sheet1
看看能否检索么?

能检索出来的话, 更新起来就只是 SQL 语句的问题了。

我不知道 SQL 2000 会不会报下面的错误:

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad HocDistributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"

如果报了,那么使用
-- 启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

-- 为了安全使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

‘捌’ EXCEL连接数据库进行刷新数据

vba工程加密码,(察看时所定工程),用户就看不到SQL语句和数据库登陆名了.

不过这样只能限制一般用户,高手可以破解VBA密码的.

‘玖’ Excel连接sql sever,实现 数据自动更新问题

为什么不在软件里开发更新,反到跑到excel去设置,这不本末倒置了吗

‘拾’ 【sql server】如何使用追加或更新的方法将excel表格导入sql server数据库

如果是经常性的需要这样操作,可以采用一下方法:
一是写一个自动化导入的程序,这样就不必每次纠结怎么导入,即使换人了,俺方法操作就好
二是直接导入,可以建立分表,然后在使用时再进行处理
祝好运,望采纳