こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBでSQL Serverに接続したいのですが

お世話になります。大変困っているので助けてください。
VB 2008EXPRESS EditionとSQL Server EXPRESS Edition(共に無償)をネットからダウンロードしてインストールしました。

VBからSQL Serverに接続したく以下のようなコードを記述しました。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' 接続文字列を生成する
Dim stConnectionString As String = String.Empty

stConnectionString = "Server=ABSAN\SQLEXPRESS;Initial Catalog=ABSAN;Integrated Security = SSPI;"

' SqlConnection の新しいインスタンスを生成する (接続文字列を指定)
Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString)

' データベース接続を開く
cSqlConnection.Open()

' 接続に成功した旨を表示する
MessageBox.Show("Microsoft SQL Server に接続されました")

' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照)
cSqlConnection.Close()
cSqlConnection.Dispose()

End Sub




結果として、「SqlEXceptionはハンドルされませんでした」旨のメッセージが帰ってきます。

但し、自分でもData SourceとInitial Catalogの設定のところがこれでいいのかと思っています。
何らかの形で正しい設定をしたいのですが、サーバのインストール時にこのような設定があったように記憶がありません。
また他にも原因があるようでしたら教えてください。
全然わかってないのですが、アクセスするDBファイルはまだ存在しません。
上記コードではとりあえずローカルのサーバに接続するという概念で受け取っていますが、間違っていますでしょうか?
何分急いで下ります。よろしくお願いいたします。

投稿日時 - 2009-07-12 16:01:51

QNo.5119530

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

Imports System.Data
Imports System.Data.SqlClient

Using Cn As New SqlConnection
Try
Cn.ConnectionString = "Server=ABSAN\SQLEXPRESS;Database=ABSAN;Integrated Security=SSPI;"

Dim cmd As New SqlCommand

cmd.Connection = Cn
Cn.Open()

MessageBox.Show("Microsoft SQL Server に接続されました")

Catch Ex As Exception
MessageBox.Show(Ex.Message, "Error", MessageBoxButtons.OK)
End Try
End Using

こんな感じですね。
でも、サーバー名もDB名も「ABSAN」ですか。


最後に、、、マルチはいけませんよ。

投稿日時 - 2009-07-15 13:53:27

ANo.1

"Data Source=ABSAN\SQLEXPRESS;Initial Catalog=ABSAN;Integrated Security=SSPI"

接続文字列の最初はServerは使用できるんですか?
見当違いかもしれませんが、上記の形で試してみてください。

投稿日時 - 2009-07-13 09:06:54