VBから、TCP/IPでSQLサーバに接続し、データを書き加えるプログラムを構築していま
す。
テスト用サーバとして
Win2000にMS-SQL Serverをインストールし、SQLサーバを立てました。
このサーバに、VBからADOで接続しようとしているのですが、どうもうまく行きません。
おそらく、cn.ConnectionStringに問題があるであろう事までは判明したのですが、
具体的な問題点をご指摘いただければ幸いです。
Set cn = New ADODB.Connection
cn.Connectionstring = Provider=Microsoft.Jet.OLEDB.4.0;Persist Security
Info=False;User ID=sa;Initial Catalog=(サーバー名);Data Source=(サーバーのローカ
ルIP)
cn.Open
cat.ActiveConnection = cn
strSQL = INSERT INTO TestTable VALUES(' & Text1.Text & ',' & Time
& ',' & Text2.Text & ',' & EQNO & ')
Set cmd = New ADODB.Command
cmd.ActiveConnection = cn
cmd.CommandText = strSQL
cmd.Execute
cn.Close
こんにちは「初心者」さん。ベーちゃんといいます。
>cn.Connectionstring = Provider=Microsoft.Jet.OLEDB.4.0;
>Persist Security Info=False;User ID=sa;Initial Catalog=(サーバー名);
>Data Source=(サーバーのローカルIP)
確かにここが間違っています。JetはAccessデータベースにアクセスするときに
使用し、SQLServerでは使いません。
>cn.Connectionstring = Provider=SQLOLEDB.1;
>Persist Security Info=False;User ID=sa;
>Initial Catalog=(SQLServer内のデータベース名);
>Data Source=(サーバー名)
無論かっこ()は入れてはいけません。
ところでこの構文ではsaにパスワードが設定されていないようですが
セキュリティの関係上設定されることをお勧めします。
これで接続できるはずです。
プロバイダをSQLOLEDBに変更したら、うまく動作しました。
ありがとうございました。