みなさんこんにちわ。
Delphi7.0で作成したアプリケーションからMSSQLServer2000に
接続して、テキストファイルをあるテーブルにインポートしたいのですが
分かりません。
テキストファイルの形式はdatです。
現在はADOConnectionとADOCommandを使用して、
-------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
sCommand : String;
begin
sCommand := 'bcp pubs..test in 'c:\data.dat ' -c -t, -r \n -SAMPLESERVER -Usa -P******)';
ADOConnection1.Connected := False ;
ADOConnection1.LoginPrompt := False ;
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Password=******;Persist Security Info=True;User ID=sa;Initial Catalog=sampleDB;Data Source=SAMPLESERVER' ;
ADOConnection1.DefaultDatabase := 'trableDB' ;
ADOConnection1.Provider := 'SQLOLEDB.1' ;
ADOCommand1.Connection := ADOConnection2;
ADOCommand1.CommandText := sCommand;
ADOConnection2.Connected := True ;
end;
-------------------------------------------------------------------
としています。
が、テーブルにはデータが入っていません。
どこを直したらいいのでしょうか?教えてください。
よろしくお願いします。
先ほどのコードは間違ってました。
↓が問題のコードです。
procedure TForm1.Button1Click(Sender: TObject);
var
sCommand : String;
begin
sCommand := 'bcp pubs..test in 'c:\data.dat ' -c -t, -r \n -SAMPLESERVER -Usa -P******)';
ADOConnection1.Connected := False ;
ADOConnection1.LoginPrompt := False ;
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Password=******;Persist Security Info=True;User ID=sa;Initial Catalog=sampleDB;Data Source=SAMPLESERVER' ;
ADOConnection1.DefaultDatabase := 'sampleDB' ;
ADOConnection1.Provider := 'SQLOLEDB.1' ;
ADOCommand1.Connection := ADOConnection1;
ADOCommand1.CommandText := sCommand;
ADOConnection1.Connected := True ;
end;
よろしくお願いします。
先ほどのコードは間違ってました。
↓が問題のコードです。
procedure TForm1.Button1Click(Sender: TObject);
var
sCommand : String;
begin
sCommand := 'bcp pubs..test in 'c:\data.dat ' -c -t, -r \n -SAMPLESERVER -Usa -P******)';
ADOConnection1.Connected := False ;
ADOConnection1.LoginPrompt := False ;
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Password=******;Persist Security Info=True;User ID=sa;Initial Catalog=sampleDB;Data Source=SAMPLESERVER' ;
ADOConnection1.DefaultDatabase := 'sampleDB' ;
ADOConnection1.Provider := 'SQLOLEDB.1' ;
ADOCommand1.Connection := ADOConnection1;
ADOCommand1.CommandText := sCommand;
ADOConnection1.Connected := True ;
end;
よろしくお願いします。
sCommandの文字列がおかしくなっていませんか?
編集 削除HOotaさんありがとうございます。
指摘のとおり自分なりに直してみたのですが、、、
procedure TForm1.Button1Click(Sender: TObject);
var
sCommand : String;
begin
sCommand := 'bcp pubs..test in c:\data.dat -c -t, -r \n -SAMPLESERVER -Usa -P******';
ADOConnection1.Connected := False ;
ADOConnection1.LoginPrompt := False ;
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Password=******;Persist Security Info=True;User ID=sa;Initial Catalog=sampleDB;Data Source=SAMPLESERVER' ;
ADOConnection1.DefaultDatabase := 'sampleDB' ;
ADOConnection1.Provider := 'SQLOLEDB.1' ;
ADOCommand1.Connection := ADOConnection1;
ADOCommand1.CommandText := sCommand;
ADOConnection1.Connected := True ;
end;
sCommandを上記のとおりなおしてもテーブルに値が入ってきません。
そもそも書き方が間違ってるんでしょうか???
SQL Serverは使ったことがないので、コマンドの意味はわかりません。
ADOConnectionはつながっていなくても読み込めますか?