Excel SqlServerデータベースのインポート(二)
3918 ワード
上記第1の導入方法は、中間変数DataTableによるものである.
本文は第2の方法である.直接sql文の制御を通じてExeclをSqlに書き込む
インタフェースはFileUploadとButtonで、ボタンでExcelファイルのパスを取得します.ここでは紹介しません.詳細は、ExcelインポートSqlServerデータベース(一)を参照してください.論理レイヤは、ファイルパスの下でデータ処理レイヤに渡されます.
D層の具体的なやり方を見てみましょう.
この方法のコードは比較的簡単である.ポイントはSql文への応用です.
次に、比較的一般的なインポートでエクスポートされるsql文をいくつかまとめます.
一、SQL SERVERとaccessのデータインポートエクスポート
1.SQL SERVERでaccessデータを問い合わせる:
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\DB.mdb";User ID=Admin;Password=')...テーブル名
2.SQLサーバへのアクセスのインポート
SELECT * INTO newtable FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...テーブル名
3.SQL SERVERテーブルのデータをAccessテーブルに挿入
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.OLB.ED 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$]
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$]
3、SQL SERVERで調べたデータを一つのExcelファイルに導く
EXEC master..xp_cmdshell'bcpライブラリ名.dbo.表名out c:Temp.xls-c-q-S「servername」-U「sa」-P"'--パラメータ説明:SはSQLサーバ名;Uはユーザである.Pはパスワード
例:EXECマスター..xp_cmdshell 'bcp saletesttmp.dbo.Table out c:\temp1.xls -c -q -S"pmserver"-U"sa"-P"sa"'
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)
本文は第2の方法である.直接sql文の制御を通じてExeclをSqlに書き込む
インタフェースはFileUploadとButtonで、ボタンでExcelファイルのパスを取得します.ここでは紹介しません.詳細は、ExcelインポートSqlServerデータベース(一)を参照してください.論理レイヤは、ファイルパスの下でデータ処理レイヤに渡されます.
D層の具体的なやり方を見てみましょう.
/// <summary>
/// sql Excel Sql
/// </summary>
/// <param name="strPath">Excel </param>
/// <returns>bool</returns>
public bool BatchInsertData(string strPath)
{
bool blnResult = false;
// , newTable , Excel .
// string strsql = "select * into newTable from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source=" + "\"" + path + "\"" + ";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]";
// Table , .
string strsql = "insert into Table select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=" + strPath + "',Sheet1$)";
//
string strConn = "server=192.168.*.*;database=Student;uid=sa;pwd=123";
SqlConnection objConn = new SqlConnection(strConn);
//
objConn.Open();
//
SqlCommand sqlcom = new SqlCommand(strsql, objConn);
if (sqlcom.ExecuteNonQuery() > 0)
{
blnResult = true;
}
return blnResult;
}
この方法のコードは比較的簡単である.ポイントはSql文への応用です.
次に、比較的一般的なインポートでエクスポートされるsql文をいくつかまとめます.
一、SQL SERVERとaccessのデータインポートエクスポート
1.SQL SERVERでaccessデータを問い合わせる:
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\DB.mdb";User ID=Admin;Password=')...テーブル名
2.SQLサーバへのアクセスのインポート
SELECT * INTO newtable FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...テーブル名
3.SQL SERVERテーブルのデータをAccessテーブルに挿入
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.OLB.ED 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$]
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$]
3、SQL SERVERで調べたデータを一つのExcelファイルに導く
EXEC master..xp_cmdshell'bcpライブラリ名.dbo.表名out c:Temp.xls-c-q-S「servername」-U「sa」-P"'--パラメータ説明:SはSQLサーバ名;Uはユーザである.Pはパスワード
例:EXECマスター..xp_cmdshell 'bcp saletesttmp.dbo.Table out c:\temp1.xls -c -q -S"pmserver"-U"sa"-P"sa"'
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)