ホームページ データベース mysql チュートリアル 轻松实现SQL Server与Access、Excel数据表间的导入导出 【转载

轻松实现SQL Server与Access、Excel数据表间的导入导出 【转载

Jun 07, 2016 pm 03:50 PM
access excel server sql 成し遂げる 簡単

在SQL SERVER 2000/2005中除了使用DTS进行数据的导入导出,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。 利用下述方法,可以十分容

 在SQL SERVER 2000/2005中除了使用DTS进行数据的导入导出,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。 利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下:

  一、SQL SERVER 和ACCESS的数据导入导出

  常规的数据导入导出:

  使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤:

  1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation

  2Services(数据转换服务),然后选择 czdImport Data(导入数据)。

  3在Choose a Data Source(选择数据源)对话框中选择Microsoft Access as the Source,然后键入你的.mdb数据库(.mdb文件扩展名)的文件名或通过浏览寻找该文件。

  4在Choose a Destination(选择目标)对话框中,选择Microsoft OLE DB Prov ider for SQL Server,选择数据库服务器,然后单击必要的验证方式。

  5在Specify Table Copy(指定表格复制)或Query(查询)对话框中,单击Copy tables(复制表格)。

  6在Select Source Tables(选择源表格)对话框中,单击Select All(全部选定)。下一步,完成。


  Transact-SQL语句进行导入导出:

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

SELECT *

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名


  2. 将access导入SQL server

在SQL SERVER 里运行:

SELECT *

INTO newtable

FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',

'Data Source="c:\DB.mdb";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')


    注:如果你在Sql Server中查询一下Excel文件的时候出现问题:
SELECT *  FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=D:\a.xls',[sheet1$])
    结果提示:
    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解决:

    启用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 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル May 07, 2024 pm 04:20 PM

1. Windows 11で設定を開きます。 Win+I ショートカットまたはその他の方法を使用できます。 2. 「アプリ」セクションに移動し、「アプリと機能」をクリックします。 3. バックグラウンドでの実行を禁止したいアプリケーションを見つけます。三点ボタンをクリックして、[詳細オプション] を選択します。 4. [バックグラウンド アプリケーションのアクセス許可] セクションを見つけて、目的の値を選択します。デフォルトでは、Windows 11 は電力最適化モードを設定します。これにより、Windows はアプリケーションがバックグラウンドでどのように動作するかを管理できるようになります。たとえば、バッテリーを節約するためにバッテリー セーバー モードを有効にすると、システムはすべてのアプリを自動的に終了します。 5. アプリケーションがバックグラウンドで実行されないようにするには、[なし] を選択します。プログラムが通知を送信していない、データの更新に失敗しているなどに気付いた場合は、次のことができることに注意してください。

DeepSeek PDFを変換する方法 DeepSeek PDFを変換する方法 Feb 19, 2025 pm 05:24 PM

DeepSeekはファイルを直接PDFに変換できません。ファイルの種類に応じて、異なる方法を使用できます。一般的なドキュメント(Word、Excel、PowerPoint):Microsoft Office、Libreoffice、その他のソフトウェアを使用してPDFとしてエクスポートします。画像:画像ビューアまたは画像処理ソフトウェアを使用してPDFとして保存します。 Webページ:ブラウザの「Print into PDF」関数を使用するか、PDFツールに専用のWebページを使用します。 UNCOMMONフォーマット:適切なコンバーターを見つけて、PDFに変換します。適切なツールを選択し、実際の状況に基づいて計画を作成することが重要です。

Oracleでdbfファイルを読み取る方法 Oracleでdbfファイルを読み取る方法 May 10, 2024 am 01:27 AM

Oracle は、次の手順で dbf ファイルを読み取ることができます。外部テーブルを作成し、その dbf ファイルを参照し、データを Oracle テーブルにインポートします。

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

Botanix の解釈: ネットワーク資産管理のための分散型 BTC L2 (対話型チュートリアル付き) Botanix の解釈: ネットワーク資産管理のための分散型 BTC L2 (対話型チュートリアル付き) May 08, 2024 pm 06:40 PM

昨日、BotanixLabs は、Polychain Capital、Placeholder Capital などの参加を得て、総額 1,150 万米ドルの資金調達を完了したと発表しました。資金は、BTCL2Botanix に相当する分散型 EVM を構築するために使用されます。スパイダーチェーンは、EVM の使いやすさとビットコインのセキュリティを組み合わせています。 2023 年 11 月にテストネットが稼働して以来、アクティブなアドレスは 200,000 を超えています。 Odaily では、この記事で Botanix の特徴的なメカニズムとテストネットの相互作用プロセスを分析します。 Botanix 公式定義によると、Botanix はビットコイン上に構築された分散型チューリング完全 L2EVM であり、2 つのコア コンポーネントで構成されています: イーサリアム仮想マシン

3 つの Excel 財務関数で複雑な財務計算を解決 3 つの Excel 財務関数で複雑な財務計算を解決 Jul 21, 2024 pm 06:39 PM

元のタイトル: 「これら 3 つの Excel 財務関数は再び過小評価されています!」 》 この記事の著者: Xiaohua この記事の編集者: Zhu Lan 最近、Xiaohua は古い友人の魂から来た興味深い質問に遭遇しました。これら 2 つの金融商品の基本情報は次のとおりです。 毎月年金: 毎月支払額 1,000 元、年利 3%、期間 2 年、満期時に元金と利息が 1 回だけ引き落とされます。相互保険金融: 毎月元金 1,000 元を支払い、毎月の元金は 10% の利子で計算され、期間は 2 年です。同じ商品に参加する人は 24 人で、毎月 1 人が他の人が支払った元金と利息を全額受け取る必要があり、1 人は支払いを受け取った翌月に 100 元の利息を支払わなければなりません。これら 2 つの金融商品の長所と短所を比較するにはどうすればよいでしょうか?我々はできる

Java リフレクション メカニズムはクラスの動的ロードをどのように実装しますか? Java リフレクション メカニズムはクラスの動的ロードをどのように実装しますか? May 04, 2024 pm 03:42 PM

Java リフレクション メカニズムを使用すると、実行時にクラスを動的にロードしてインスタンス化でき、クラス、メソッド、フィールドなどの java.lang.reflect パッケージ内のクラスを通じてクラスのメタデータを操作できます。 Example クラスのロード、オブジェクトのインスタンス化、メソッドの取得と呼び出しの実際のケースを通じて、動的にロードされるクラスでのアプリケーションをデモンストレーションすることで、プログラミングの問題を解決し、柔軟性を向上させることができます。

アクセス違反エラーの解決方法 アクセス違反エラーの解決方法 May 07, 2024 pm 05:18 PM

アクセス違反エラーは、プログラムがメモリ割り当てを超えたメモリ位置にアクセスしたときに発生する実行時エラーで、プログラムがクラッシュまたは異常終了します。解決策としては、配列境界のチェック、適切なメモリ割り当て関数の使用、ドライバとシステムの更新、ソフトウェア ベンダーへの問い合わせが挙げられます。 。

See all articles