导入数据不一定要用OPENSET函数,可以用更简单的方法,步骤如下:
1、首先双击打开sqlserver,右击需要导入数据的数据库,如图所示。
2、点击任务,再点击任务中的导入数据选项,打开导入导出数据向导界面。
3、在向导界面点击下一步,进入下图界面依次填写需要的内容:数据源Excel,文件路径,以及Excel版本,填好后点击下一步(如果Excel其他版本不行的话,就选择Excel97-03的,再将Excel保存为相应版本)即可。
4、然后就是目标数据库设置:目标选择msslserver,服务器名称不用变,身份验证输入相应的密码,数据库选择对应的数据库,设置好后点击下一步。
5、然后来到图示界面,直接默认选项即可,点击下一步。
6、图示界面,可以自定义目标数据库(表在数据库中可以不存在),点击预览即可以看到导入之后的表状态,如图。
7、上一步完成后再继续下一步,最后点击完成,即可导入成功,如图。
8、最后在数据库中检查一下导入的表数据,附上导入的Excel数据为例。
扩展资料:
导入数据也可使用OPENROWSET函数,但使用该函数之前必须先启用AdHocDistributedQueries服务,因为这个服务不安全所以SqlServer默认是关闭的,系统管理员可以通过使用sp_configure启用'AdHocDistributedQueries'。
但有一个问题一定要特别注意,由于 'AdHocDistributedQueries'这个服务存在着较大的安全隐患,所以切记使用完毕之后一定要关闭。
所以,如果是导入数据建议不要使用OPENROWSET函数,弊大于利。
完整代码如下 <% On Error Resume Next 导入Excel电子表格数据到SQL Sever数据库 By Dicky : : Function Open_Conn(SqlDatabaseName SqlPassword SqlUsername SqlLocalName SqlConn) 创建数据库连接对象并打开数据库连接 Dim ConnStr SQL Server数据库连接参数 数据库名 用户密码 用户名 连接名(本地用local 外地用IP) ConnStr = Provider=SqloledbUser ID= &SqlUsername &Password= &SqlPassword &Initial Catalog = &SqlDatabaseName &Data Source= &SqlLocalName & Set SqlConn = Server CreateObject( ADODB Connection ) SqlConn Open ConnStr If Err Then Err Clear Set SqlConn = Nothing Response Write 数据连接错误! Response End End IfEnd FunctionFunction Close_Conn(SqlConn) 关闭数据库连接并清除数据库连接对象 If IsObject(SqlConn) Then SqlConn Close Set SqlConn = Nothing End IfEnd FunctionCall Open_Conn( Shat_EDG sa (local) SqlConn) 打开本地SQL Server数据库连接Call Open_Conn( Shat_EDG sa ssh SqlConn ) 打开远程SQL Server数据库连接Function Get_EMP_CnName(NTACCNT) 根据用户NT帐号得到用户中文名 Dim Sql Rs Sql = Select EMP_CNAME From RF_EMPLOYEE Where EMP_NTACCNT= &NTACCNT& Set Rs = Server CreateObject( Adodb RecordSet ) Rs Open Sql SqlConn If Rs Eof Then Get_EMP_CnName = Else Get_EMP_CnName = Rs ( EMP_CNAME ) End If Rs Close Set Rs = NothingEnd Function %><><head><title>导入Excel电子表格数据到SQL Sever数据库</title><body bgcolor= #ACD AF ><center><b>导入Excel电子表格数据到SQL Sever数据库</b></center><FORM METHOD= POST name= form >请选择数据源(本地库):<SELECT NAME= Table title= 请选择需要导入数据的表 ><option></option><% Dim RsSqlDatabaseTable Set RsSqlDatabaseTable = SqlConn OpenSchema( ) Do While Not RsSqlDatabaseTable Eof %><option<%If Trim(Request( Table ))=RsSqlDatabaseTable( ) Then Response Write selected %>><%=RsSqlDatabaseTable( )%></option><% RsSqlDatabaseTable MoveNext:Loop Set RsSqlDatabaseTable = Nothing %></SELECT><input type=submit name=submit value= 开始导出 ><br>请选择目标表(远程库):<SELECT NAME= Table title= 请选择需要导入数据的表 ><option></option><% Dim RsSqlDatabaseTable Set RsSqlDatabaseTable = SqlConn OpenSchema( ) Do While Not RsSqlDatabaseTable Eof %><option<%If Trim(Request( Table ))=RsSqlDatabaseTable ( ) Then Response Write selected %>><%=RsSqlDatabaseTable ( )%></option><% RsSqlDatabaseTable MoveNext:Loop Set RsSqlDatabaseTable = Nothing %></SELECT></FORM><font color=blue>导出过程中请不要刷新页面!</font><br><%If Trim(Request( Table )) <>Then Dim Sql Rs Sql = Select * From Sheet $ Sheet $是我们实现用SQL Server自身数据转换功能得到的表名 Set Rs = SqlConn Execute(Sql) If Rs Eof And Rs Bof Then Response write 没有找到您需要的数据!!<br> Else Do While Not Rs Eof SqlInsert = Insert Into &Trim(Request( Table ))&(EDG_Project_Name EDG_Project_No EDG_Project_VM EDG_Project_VM_CnName EDG_Project_M EDG_Project_M_CnName EDG_Project_Director EDG_Project_Director_CnName) Values ( &Trim(Rs( 工程名称 ))&&Trim(Rs( 工程编号 ))&&Trim(Rs( 项目副理 ))&&Trim(Rs( 项目副理 ))&( &Get_EMP_CnName(Trim(Rs( 项目副理 )))&) &&Trim(Rs( 项目经理 ))&&Trim(Rs( 项目经理 ))&( &Get_EMP_CnName(Trim(Rs( 项目经理 )))&) &&Trim(Rs( 项目总监 ))&&Trim(Rs( 项目总监 ))&( &Get_EMP_CnName(Trim(Rs( 项目总监 )))&) &) Response Write SqlInsert 此处插入的值根据实际数据库结构进行调整 SqlConn Execute(SqlInsert) 插入Excel表格里所有东东 Rs MoveNext Loop Response Write <font color=red>恭喜 成功导出数据!^_^</font><br> End If Rs Close Set Rs = NothingEnd IfCall Close_Conn(SqlConn) 关闭Excel数据库连接Call Close_Conn(SqlConn ) 关闭SQL Server数据库连接 %></body></>lishixinzhi/Article/program/net/201311/12903
1、首先准备好Excel表,希望把它导入到SQL Server2012中的QearlTest数据库中。
2、找到QearlTest数据库,然后右键在下拉菜单中找到 “task"中的“import data。
3、在这里要配置好数据来源,数据来自一个Excel表格,所以选择Microsoft Excel 选项,当选定之后,只需要找到事先保存的Excel文件位置,然后点击下一步。
4、选择要导入的目标数据库,要导入的是QearlTest这个数据库中,然后点击下一步。
5、这里选择直接复制这个Excel表,然后连续点击3次下一步。
6、最后点击完成,会看到一个数据导入成功的界面。
7、回到QearlTest这个数据库,去检验是否成功导入了这个表中的10条数据,就完成了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)