VB.NET:ADO.NETを使用したSQL-ServerのテーブルのCSV出力
ADO.NET を使用した SQL-Server のテーブルをCSVファイルに出力する簡単な関数を作成してみました。
CSVファイルを作成する関数への引数は、データベース名とデータソース名と、SQL文、それとCSVファイル名とCSV内のカラムヘッダを 出力するかのフラグになります。
CSV出力処理関数内では SQL-Server への接続をオープンし、指定されたSELECT文を実行します。 SELECT文の結果の行が在れば、1行づつデータを取得します。 初回の行の処理の場合には、リーダーオブジェクトからカラム名を取得しヘッダ行を書き込みます。 その後、各データ行をCSVファイルに書き込みます。 CSVの各データは強制的にダブルクォートで囲む様にしていますので、 データ内のダブルクォートはエスケープ処理しています。
尚、今回のテーブルは以下の生成文で生成しました。
結果的にCSVファイル内容は以下の様になります。
■関連記事
⇒BCPコマンドでUnicode文字形式を使用したデータのインポート及びエクスポート(SQL Server)について
⇒ADO.NET での DataReader の入れ子エラー
⇒ADO.NET を使用した SQL-Server へのアクセス・クラス
⇒SQL-Serverの自動採番(IDENTITY値)の取得・リセット
⇒SQL-Serverのストアド・ファンクションではUPDATEなどが実行できない
⇒SQL-Serverのユーティリティ(BCPコマンド)を利用したテーブルへのインポート・エキスポート
⇒SQL-Serverのプロシージャ生成のバッチ実行
⇒SQL-Serverの関数・プロシージャのVB.NETでの実行
CSVファイルを作成する関数への引数は、データベース名とデータソース名と、SQL文、それとCSVファイル名とCSV内のカラムヘッダを 出力するかのフラグになります。
CSV出力処理関数内では SQL-Server への接続をオープンし、指定されたSELECT文を実行します。 SELECT文の結果の行が在れば、1行づつデータを取得します。 初回の行の処理の場合には、リーダーオブジェクトからカラム名を取得しヘッダ行を書き込みます。 その後、各データ行をCSVファイルに書き込みます。 CSVの各データは強制的にダブルクォートで囲む様にしていますので、 データ内のダブルクォートはエスケープ処理しています。
尚、今回のテーブルは以下の生成文で生成しました。
結果的にCSVファイル内容は以下の様になります。
■関連記事
⇒BCPコマンドでUnicode文字形式を使用したデータのインポート及びエクスポート(SQL Server)について
⇒ADO.NET での DataReader の入れ子エラー
⇒ADO.NET を使用した SQL-Server へのアクセス・クラス
⇒SQL-Serverの自動採番(IDENTITY値)の取得・リセット
⇒SQL-Serverのストアド・ファンクションではUPDATEなどが実行できない
⇒SQL-Serverのユーティリティ(BCPコマンド)を利用したテーブルへのインポート・エキスポート
⇒SQL-Serverのプロシージャ生成のバッチ実行
⇒SQL-Serverの関数・プロシージャのVB.NETでの実行
コメント