一:导入Access数据
1、在sql2008查询分析 器中输入如下查询语句能查出access中的数据
2、将access 中数据导入到sql2008中
注:'sql表名' 不要事先建好!!!
二:Excel数据
1、向现有表中导入数据
2、导入数据并新增表
3、导入部分列到表中
4、更新表
1、查不出来【[url=http://bbs.youkuaiyun.com/topics/310053252]移步这里[/url]】
1.1:[quote]消息 15281,级别 16,状态 1,第 1 行
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。[/quote]
[url=http://blog.youkuaiyun.com/the_pain/archive/2009/04/23/4103518.aspx]http://blog.youkuaiyun.com/the_pain/archive/2009/04/23/4103518.aspx[/url]
1.2:环境是:windows server 2008 r2 ,sql server 2008 查询时报:[quote]消息 7308,级别 16,状态 1,第 2 行
因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。[/quote]
解决:1、下载64位驱动[url=http://www.microsoft.com/en-us/download/details.aspx?id=13255]http://www.microsoft.com/en-us/download/details.aspx?id=13255[/url]
并将连接字符改成:Microsoft.ACE.OLEDB.12.0
2、excel 导入库中为科学计算法显示
[url=http://xinming-me.iteye.com/blog/1490522]http://xinming-me.iteye.com/blog/1490522[/url]
网上的方法有可能还解决不了导入后是科学计算显示
在生成excel时将所有内容转成字符或文本形式,比如,我是从查询结果中复制的数据,手工拷到excel表中的,我只要保证 查询出来的结果集 是文本就OK了。
->将excel 中的数据复制到 txt中;
->再将excel中的数据全部干掉;
->全选,设置一下excel 格式为文本
->从txt中重新将数据复制到excel表格中
->导入
4、表a,b 导入 表x
-------------个人微信公众:[size=medium][b][color=red]youcode[/color][/b][/size]
[img]http://dl2.iteye.com/upload/attachment/0095/0299/6c986dbd-31fb-3672-a93a-966a80189cf6.jpg[/img]
1、在sql2008查询分析 器中输入如下查询语句能查出access中的数据
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="e: \\xx.mdb";User ID=Admin;Password=;Jet OLEDB:Database Password=123456')...gouqi
2、将access 中数据导入到sql2008中
SELECT * into sql表名 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="e: \\xx.mdb";User ID=Admin;Password=;Jet OLEDB:Database Password=123456')...access表名
注:'sql表名' 不要事先建好!!!
二:Excel数据
1、向现有表中导入数据
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
2、导入数据并新增表
SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
3、导入部分列到表中
INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
4、更新表
update tc set aaa=bbb
from A a,OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$) b
where a.id=b.id;
三:过程中遇到的问题备忘
1、查不出来【[url=http://bbs.youkuaiyun.com/topics/310053252]移步这里[/url]】
1.1:[quote]消息 15281,级别 16,状态 1,第 1 行
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。[/quote]
[url=http://blog.youkuaiyun.com/the_pain/archive/2009/04/23/4103518.aspx]http://blog.youkuaiyun.com/the_pain/archive/2009/04/23/4103518.aspx[/url]
1.2:环境是:windows server 2008 r2 ,sql server 2008 查询时报:[quote]消息 7308,级别 16,状态 1,第 2 行
因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。[/quote]
解决:1、下载64位驱动[url=http://www.microsoft.com/en-us/download/details.aspx?id=13255]http://www.microsoft.com/en-us/download/details.aspx?id=13255[/url]
并将连接字符改成:Microsoft.ACE.OLEDB.12.0
2、excel 导入库中为科学计算法显示
[url=http://xinming-me.iteye.com/blog/1490522]http://xinming-me.iteye.com/blog/1490522[/url]
网上的方法有可能还解决不了导入后是科学计算显示
在生成excel时将所有内容转成字符或文本形式,比如,我是从查询结果中复制的数据,手工拷到excel表中的,我只要保证 查询出来的结果集 是文本就OK了。
->将excel 中的数据复制到 txt中;
->再将excel中的数据全部干掉;
->全选,设置一下excel 格式为文本
->从txt中重新将数据复制到excel表格中
->导入
4、表a,b 导入 表x
insert into x(cardnum,username,unitprice,zuihougouqiliang,buygasamount,beizhu)
select a.用户编号 cardnum,a.用户姓名 username,a.购气价格 unitprice,
b.购气数量 zuihougouqiliang,b.总气量 buygasamount,b.备用2 beizhu
from a left join b on (a.id=b.id)
-------------个人微信公众:[size=medium][b][color=red]youcode[/color][/b][/size]
[img]http://dl2.iteye.com/upload/attachment/0095/0299/6c986dbd-31fb-3672-a93a-966a80189cf6.jpg[/img]