C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: VB.NET Express からのSQL Server接続


(過去ログ 97 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■57895 / inTopicNo.1)  VB.NET Express からのSQL Server接続
  
□投稿者/ *aka*aka* (3回)-(2011/03/21(Mon) 03:20:21)

分類:[VB.NET/VB2005 以降] 

2011/03/21(Mon) 12:47:37 編集(投稿者)

Visual Studio 2010 Express VB.NETから、
SQL Serverに接続するためのコネクション文字列はどう記述すれば良いのでしょうか?

●Accessファイル
Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\[ファイル名].mdb;"

→ 接続O.K.

●SQL Server 2008 R2 Express
Dim connectionString As String = "Provider=System.Data.SqlClient;[PC名];Initial Catalog=[DB名];Integrated Security=True"

→ System.Data.SqlClientがありませんとエラーになります。


*****
Dim cn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=SQLOLEDB;Server=[PC名];Initial Catalog=[DB名];Integrated Security=True")
dAdp = New OleDb.OleDbDataAdapter("SELECT * FROM [テーブル名]", cn)
dAdp_SB.Fill(dSet_SB, "t_dummy")
*****

「'System.Data.OleDb.OleDbException' の初回例外が System.Data.dll で発生しました。」とエラーになります。
具体的にご教示お願い出来れば助かります。

引用返信 編集キー/
■57900 / inTopicNo.2)  Re[1]: VB.NET Express からのSQL Server接続
□投稿者/ 魔界の仮面弁士 (2135回)-(2011/03/21(Mon) 19:26:50)
No57895 ( *aka*aka* さん) に返信
> SQL Serverに接続するためのコネクション文字列はどう記述すれば良いのでしょうか?

System.Data.OleDb.OleDbConnection は Provider=SQLOLEDB や Provider=MSDASQL に対応していません。
SQL Serverに接続する場合には、System.Data.SqlClient.SqlConnection を使います。


Imports System.Data.SqlClient
Partial Public Class Form1
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim cb As New SqlConnectionStringBuilder()

        cb.DataSource = "サーバー名" または "サーバー名\インスタンス名"
        cb.InitialCatalog = "" または "初期接続データベース名"

        If Windows認証の場合 Then
            cb.UserID = "ユーザーID"
            cb.Password = "パスワード"
        ElseIf SQLServer認証の場合 Then
            cb.IntegratedSecurity = True
        End If

        '上記を使わず、下記の文字列を直接生成しても OK
        Dim connectionString As String = cb.ConnectionString

        '接続テスト。サーバー時刻を取得
        Using con As New SqlConnection(connectionString)
            con.Open()

            Dim cmd As SqlCommand = con.CreateCommand()
            cmd.CommandText = "SELECT GETDATE()"
            Dim dt As Object = cmd.ExecuteScalar()

            MsgBox(String.Format("{0:yyyy\/MM\/dd HH\:mm\:ss.fff}", dt))

            con.Close()
        End Using
    End Sub
End Class

引用返信 編集キー/
■57908 / inTopicNo.3)  Re[1]: VB.NET Express からのSQL Server接続
□投稿者/ やじゅ (1869回)-(2011/03/21(Mon) 23:54:34)
やじゅ さんの Web サイト
No57895 ( *aka*aka* さん) に返信
> SQL Serverに接続するためのコネクション文字列はどう記述すれば良いのでしょうか?

原因については、魔界の仮面弁士さんの回答通りかと思います。

一応、いろいろなデーターベースの接続文字列の解説が掲載されている下記サイトがありますので参考までに。
The Connection String Reference
http://www.connectionstrings.com/

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -