SQL Server应用

    技术2022-05-19  20

    如何利用SQL语言从Access导入表到SQL Server?

    1.在SQL SERVER里查询access数据:

    SELECT *  FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="C:/.../....biz";User ID=Admin;Password=')...表名

    注: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed 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

    2 .将access导入SQL server

    SELECT * INTO BCR.dbo.tablename  FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=" C:/.../....biz ";User ID=Admin;Password=')...表名

    3 .将SQL SERVER表里的数据插入到Access表中 在SQL SERVER 里运行: insert   into   OpenDataSource ' Microsoft.Jet.OLEDB.4.0 ' , ' Data Source=" c:/DB.mdb";User ID=Admin;Password= ' ) 表名 (列名1,列名2)  select  列名1,列名2   from   sql表 实例: insert   into    OPENROWSET ( ' Microsoft.Jet.OLEDB.4.0 ' , ' C:/db.mdb ' ; ' admin ' ; '' , Test)  select  id,name  from  Test INSERT   INTO   OPENROWSET ( ' Microsoft.Jet.OLEDB.4.0 ' ' c:/trade.mdb ' ' admin ' '' , 表名)  SELECT   *   FROM  sqltablename

     

    二、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 ' )


    最新回复(0)