データベース: 2014年6月アーカイブ

Visual Basic 2013 から SQL Server を扱うプログラムのお勉強をしようと思ってたのに、結局、Visual Studio と SQL Server のセットアップで時間を取られ、やっと今日、プログラムにとりかかることが出来たよ。

サーバ CHIBIKURO2-PC\SQLEXPRESS
DB testdb
ID dbtest
PW testpasswd

という環境で、meigen テーブルの中身を読んでグリッド・コントロールにはめ込むだけの処理。

テーブルの中身はこんな感じで。

20140628_VB2.jpg

Visual Basic のソースコードは、とりあえず試しに動かしたかったので、例外処理もまったく書いてないけど(^^;、こんな感じ。

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim strConnectSQL As String
        Dim strSQL As String
        Dim SQLDA As SqlClient.SqlDataAdapter
        Dim SQLDS As New DataSet()

        strConnectSQL = _
          "Server=CHIBIKURO2-PC\SQLEXPRESS;" & _
          "Initial Catalog=testdb;" & _
          "User ID=dbtest;" & _
          "Password=testpasswd;"

        'SQL文
        strSQL = "SELECT * FROM meigen ORDER BY sn"

        SQLDA = New SqlClient.SqlDataAdapter(strSQL, strConnectSQL)

        'データセットに格納
        SQLDA.Fill(SQLDS, "TEST")

        Me.DataGridView1.DataSource = SQLDS.Tables("TEST")

    End Sub

End Class

これで、

20140628_VB0.jpg

この画面の「データ取得」ボタン(Button1)をクリックすれば、

20140628_VB1.jpg

こんな風に testdb DB の meigen テーブルの中身がグリッド・コントロール(DataGridView1)に表示されると。

さて、これでテスト環境もしっかり出来たので、あれこれお勉強しましょう。
Visual Express Studio の SQL Server オブジェクト エクスプローラーで CHIBIKURO2-PC\SQLEXPRESS サーバに新規接続しようとしたら、エラーコード「18456」で「ユーザー 'dbtest' はログインできませんでした。」と接続を拒否された。

dbtest というのは新規に追加したユーザね。

これだけではなぜ拒否されたかわからないので、エラーログファイル
C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Log\ERRORLOG
を確認すると、

2014-06-28 12:49:04.05 Logon       エラー: 18456、重大度: 14、状態: 58。
2014-06-28 12:49:04.05 Logon       Login failed for user 'dbtest'.理由: SQL 認証を使用したログインに失敗しました。サーバーは、Windows 認証専用に構成されています。 [クライアント: <local machine>]

というエラーが。
「サーバーは、Windows 認証専用に構成されています。」か(^^;

どうも最初にサーバを構成した時、俺は認証モードを「SQL Server 認証モードと Windows 認証モード」にしていたつもりだったが、「Windows 認証モード」になっていたようだな。

ということで、認証モードを変更する。

1.SQL Server Management Studio で、CHIBIKURO2-PC\SQLEXPRESS サーバの上で右メニューを開く。

2.一番下の「プロパティ」を選択。

3.サーバ認証を「SQL Server 認証モードと Windows 認証モード」に変更。

20140628_sql_setting1.jpg

4.「OK」を押したら「構成の変更の一部は、SQL Server を再起動するまで有効になりません。」と出てくるので更に「OK」を。

5.CHIBIKURO2-PC\SQLEXPRESS サーバの上で右メニューを開き、「再起動」を選択。

6.「CHIBIKURO2-PC の MSSQL$SQLEXPRESS サービスを再起動しますか?」と聞かれるので「はい」を押してサーバ再起動。

これで、ユーザでのログインが可能になる。

さて、プログラム書くか。
うーむ・・・(^^;
マジで、「なんだかなあ」な展開やなあ。

会社の Windows 7 Professional(64bit)で「SQL Server Data Tools の更新」に失敗したけど、翌日やり直したら上手くいった・・・という話を書いたが、「SQL Server オブジェクト エクスプローラー」の起動でも同じようなことがおきた。

Visual Studio Express 2013 の画面に、「表示」→「SQL Server オブジェクト エクスプローラー」で DB 管理用にオブジェクトエクスプローラーを表示しようと思ったんだけど・・・

20140626_vs_db_manege.jpg

なんか、エラー出ちゃったよ・・・(^^;

「'SqlStudio Profile Package'パッケージは正しく読み込まれませんでした。」・・・だって。

原因もすぐにはわからないのでオブジェクトエクスプローラーの表示は中断し、そのまま放ってたら、Visual Studio Express まで原因不明のエラーで落ちてしまった(^^;

なんなん、これ!??(^^;

結局この日は別の作業が忙しく、原因究明等は出来ず。

で、今日、Visual Studio Express を立ち上げ、原因調べようかなっと思って「SQL Server オブジェクト エクスプローラー」を開くと・・・

エラー起きんやん(^^;
DB にもちゃんと接続できたやん(^^;

なんなんもう(^^;

もしかして、あなたはエラーメッセージでググってここにたどりついた人?
もしそうなら、技術的にまったく参考にならんエントリーですまん、すまん(^^;

つまり、まあ、Windows で困ったことがおきたら、とりあえず再起動しろ・・・ってことだな(^^;

このアーカイブについて

このページには、2014年6月以降に書かれたブログ記事のうちデータベースカテゴリに属しているものが含まれています。

前のアーカイブはデータベース: 2014年4月です。

次のアーカイブはデータベース: 2018年8月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら