VBからSQLサーバを呼び出すには?

[戻る]
初心者 2002/09/04(水) 17:01:53
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

べーちゃん 2002/09/05(木) 02:26:05
こんにちは「初心者」さん。ベーちゃんといいます。

>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にパスワードが設定されていないようですが
セキュリティの関係上設定されることをお勧めします。

これで接続できるはずです。

初心者 2002/09/05(木) 09:39:30
[[解決]]
プロバイダをSQLOLEDBに変更したら、うまく動作しました。
ありがとうございました。

古いスレッドには追加発言できません。