一括挿入以外に、csv / textファイルからテーブルに挿入する方法はありますか?ウィザードではなくクエリを使用する。
3 に答える
CSV データを SQL データベースにインポートするときに使用したもう 1 つの方法は、リンク サーバー経由です。これは、Microsoft Access データベース エンジン 2010 再頒布可能パッケージを SQL サーバーにインストールする場合です (必ず正しい x86/x64 バージョンを使用してください)。建築):
Microsoft Access 2010 データベース エンジン再頒布可能パッケージ
次に、次のようにリンク サーバーを定義できます。
EXEC master.dbo.sp_addlinkedserver @server = N'CSVLinkedServer', @srvproduct=N'OLEDB Provider for ACE', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'S:\csv_location\', @provstr=N'Text', @catalog=N'*.csv'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'CSVLinkedServer',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
それができたら、フォルダー S:\csv_location\ に配置した CSV ファイルはすべて、リンク サーバーの既定のカタログ内の filename#csv という名前のテーブルになります。
この特定のプロバイダーの使用は、Microsoft によってこの目的でサポートされていないように感じますが、SSIS などに頼らなくても、データのインポートにこれが見事に機能することがわかりました。
SQL Server インポート/エクスポート ウィザードを使用して、ここにリンクの説明を入力することもできます
BCP.EXE を使用することもできます。これは、コマンド ラインを使用してデータをインポートするための優れた方法です。
OPENQUERY を使用して T-SQL からファイルを開いて挿入することもできますが、これは信頼できない場合があります。