SQL2008求助?急...

ICrazyBoy 2010-04-08 04:36:01
F姐姐急需帮助:


问题见图明了~
是这样的。。。 我本来是求一段代码: SQL2008从EXCEL2003导入数据,??? 不知道怎么导入成功了!求段代码??
UID是 sa

密码是 123456

excel的路径是:E:\112009年移动网I期室分立项表(20100401).xls
要导入到HXSZ这个数据库中的siteinfo表中! 表中已经建立好了字段,求如何直接搞定???
导入后能直接进行查询。


后来是个服务阻止了,

exec sp_configure 中这个服务出了问题了
Ad Hoc Distributed Queries


希望得到帮助啊!现在SQL2008服务相当于挂了。。。 登录不进去!

...全文
278 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ICrazyBoy 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 htl258 的回复:]
SQL code
Sql 导入 EXCEL 通用存储过程
/*
--下面两句在创建存储过程时必须先执行,否则不能创建本存储过程,或者调用出错
SET ANSI_WARNINGS ON--返回警告
GO
SET ANSI_NULLS ON-- 指定在对空值使用等于 (=) 和不等于 (<>) 比较运算符时,这些运算符的 SQL-92 遵从行为。
GO
--将E……
[/Quote]

还没弄完呢、男人就该负责任
ICrazyBoy 2010-04-09
  • 打赏
  • 举报
回复
我的F姐姐啊!求你快出现吧?
ICrazyBoy 2010-04-09
  • 打赏
  • 举报
回复

SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="E:\sql2008资料\虹信立项08.xls";User ID=sa;Password=123456;Extended properties=Excel 5.0')...siteInfo




链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。"。
消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。身份验证失败。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。


我执行后居然错误了!昨天是重装的软件,没想到今天出着问题了!求解决!
Q315054403 2010-04-08
  • 打赏
  • 举报
回复
先用IMPORT AND EXPORT工具导入,再插入目标表
htl258_Tony 2010-04-08
  • 打赏
  • 举报
回复
Sql 导入 EXCEL 通用存储过程
/*
--下面两句在创建存储过程时必须先执行,否则不能创建本存储过程,或者调用出错
SET ANSI_WARNINGS ON--返回警告
GO
SET ANSI_NULLS ON-- 指定在对空值使用等于 (=) 和不等于 (<>) 比较运算符时,这些运算符的 SQL-92 遵从行为。
GO
--将Excel数据导入到sql数据库
--版权 : 启程 letwego.cn
--调用实例
EXEC spExcelOutIn
@strOptions = 'In',
@strWhere = 'WHERE 房号>0',--导入/导出查询条件(包括Where 关键字)
@strExcelPath = 'd:\test.xls',--Excel的绝对路径
@strExcelSheetName = 'Sheet2',--Excel里要导入的工作表名称 如Sheet2,注意,后面不要加上$
@strExcelFiled = '单元编号,单元名称,房号,建筑面积,楼层,楼层名称,楼阁编号,业主',--Excel工作表的字段

@strSqlTableName = 'TExcelOutIn',--Sql数据库导入表名
@strSqlFiled = '单元编号,单元名称,房号编号,建筑面积,楼层,楼层名称,楼阁编号,业主编号'--Sql表的字段
*/


CREATE PROCEDURE spExcelOutIn

@strOptions varchar(200) = NULL,
@strWhere nvarchar(4000) = NULL,--导入/导出查询条件(包括Where 关键字)

@strExcelPath nvarchar(1000) = NULL,--Excel的绝对路径
@strExcelSheetName nvarchar(50) = NULL,--Excel里要导入的工作表名称 如Sheet2,注意,后面不要加上$
@strExcelFiled nvarchar(1000) = NULL,--Excel工作表的字段

@strSqlTableName nvarchar(100) = NULL,--Sql数据库导入/导出表名
@strSqlFiled nvarchar(1000) = NULL--Sql表的字段

AS

DECLARE @strSql nvarchar(4000)

IF OBJECT_ID('tempdb..##Temp') IS NOT NULL DROP TABLE ##Temp


/* 导入 */
IF @strOptions='In' AND NOT @strExcelPath IS NULL BEGIN

SET @strExcelPath = '''Microsoft.Jet.OLEDB.4.0'',''Data Source="' + @strExcelPath + '";User ID=Admin;Password=;Extended properties=Excel 5.0'''

--将数据存放到临时表(一)
SET @strSql =
'SELECT ' + @strExcelFiled +
' INTO ##Temp
FROM
OpenDataSource('+ @strExcelPath +')...'+ @strExcelSheetName +'$ '
+@strWhere

--PRINT(@strSql)
EXEC(@strSql)

--将数据从临时表导入到sql数据库表(二,分两步可以做更多的处理)
SET @strSql = 'INSERT INTO ' + @strSqlTableName + '('+ @strSqlFiled +') SELECT * FROM ##Temp'
--PRINT(@strSql)
EXEC(@strSql)

--SELECT * FROM ##Temp
DROP TABLE ##Temp

END

/* 导出 */
IF @strOptions='Out' AND NOT @strExcelPath IS NULL BEGIN

SET @strExcelPath = ''
--导成类似(不是真正的Excel,是文本格式)Excel的文件,这里是固定的,真正用时需要修改相关参数
--EXEC master..xp_cmdshell 'bcp "SELECT * FROM wy_福州分公司.dbo.TExcelOutIn" queryout C:\test.xls -c -S"(local)" -U"sa" -P"123"'
END
GO
ICrazyBoy 2010-04-08
  • 打赏
  • 举报
回复
图片不知道怎么发不上去了!恼火哦!
上面的信息是这样的:
在于SQL SERVER建立连接时出现网络相关的或特定的实例错误,未找到或无法访问服务器,请验证实例名称是否正确并且SQL SERVER已配置为允许远程连接,后面就是error-40,无法打开连接

恼火啊!烦人 没想到会出这么个问题!
--小F-- 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 newnetbird 的回复:]
F姐姐 能给给EXCEL2003导入到SQL2008数据库的代码么? 求了! 因为现在根本不知道是哪个服务不正确,导致无法登录进去了!好像是SQL的外围适配器出了问题!谢谢了!
[/Quote]

SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------

2、将Excel的数据导入SQL server :
-- ======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------

3、将SQL SERVER中查询到的数据导成一个Excel文件
-- ======================================================
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
------------------------------------------------------------------------------------------------

4、在SQL SERVER里往Excel插入数据:
-- ======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)

T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')

ICrazyBoy 2010-04-08
  • 打赏
  • 举报
回复
ICrazyBoy 2010-04-08
  • 打赏
  • 举报
回复
F姐姐 能给给EXCEL2003导入到SQL2008数据库的代码么? 求了! 因为现在根本不知道是哪个服务不正确,导致无法登录进去了!好像是SQL的外围适配器出了问题!谢谢了!
--小F-- 2010-04-08
  • 打赏
  • 举报
回复

--开启xp_cmdshell
--SQL Server blocked access to procedure 'xp_cmdshell'
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'xp_cmdshell', 1
go
reconfigure
go

--开启sp_OACreate
--SQL Server blocked access to procedure 'sys.sp_OACreate'
sp_configure 'show advanced options', 1;
go
reconfigure;
go
sp_configure 'ole automation procedures', 1;
go
reconfigure;
go


sp_configure 'Ad Hoc Distributed Queries',1;
go
reconfigure
go
htl258_Tony 2010-04-08
  • 打赏
  • 举报
回复
sp_configure 'show advanced options',1
go
reconfigure
go
sp_configure 'Ad Hoc Distributed Queries',1
go
reconfigure
go
sp_configure 'show advanced options',0
go
reconfigure
go
开启允许使用openrowset OpenDataSource
ICrazyBoy 2010-04-08
  • 打赏
  • 举报
回复
ICrazyBoy 2010-04-08
  • 打赏
  • 举报
回复
帮顶啊
在线求助了!
-狙击手- 2010-04-08
  • 打赏
  • 举报
回复
乱, 红X
服务不能得启?

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧