やっと接続できた・・・
Windows8RTMからSQL Server 2008 R2に接続する方法をメモ。
Windows8RTMを使い始めた頃からずっと接続できなかったので、正直うれしい!
なお、接続するログインユーザに気をつけないとハマります!
Windows8RTMからSQL Server 2008 R2に接続する方法
昨日いつも使用しているA5:SQL Mk-2のベータ版一覧を見ていたところ、Native Client11なる文字を発見!
これか?と思い、実際にテストしてみたところWindows8RTMからSQL Server 2008R2に接続できました。
接続方法は下記の通りです。
1.最新のSQL Server Native Clientをインストール
最新のSQL Server 2012 Native Client(SQLNCLI11)をダウンロードしてインストールします。
Microsoft® SQL Server® 2012 Feature Pack
ページ中央部にある「Microsoft® SQL Server® 2012 Native Client」欄を検索してください。
x86とx64の2種類がありますので、環境にあったプログラムをダウンロードします。
2.接続テスト
やり方はいろいろありますが、私はODBCデータ・ソース・アドミニストレイターからテストしました。
システムDSNを選択し、データソースを追加。
SQL Server Native Client 11.0を選択、各種情報を入力して接続テストを実行。
Windows認証の場合は、ログインしているユーザに気をつけてくださいね。
3.アプリケーションから接続してみる
Excel2007で作ったOfficeアプリをExcel2013プレビューで修正、Windows8RTM上で実行してみたところ問題なく動作しました。
バージョンが違ってもちゃんと動作するMSの作り、バンザイですね。
なお、SQL Native Clientを使った場合のサンプルVBAはこんな感じ。
接続プロバイダはSQLNCLI11になりますので、この点を注意してください。
ADOアプリケーションの接続文字列も上記を参考にするか、MSDNの説明を見てください。
SQL Server Native Client と ADO の併用
注意:Microsoftアカウント+Windows認証だと接続に失敗
Windows8からログインユーザにMicrosoftアカウント(旧Liveアカウント)+パスワードが使えるようになりましたが、Windows8RTMからSQL Server 2008R2に接続しようとしてハマったのが、このログインユーザ!
Microsoftアカウントでログインし、Windows認証を使ってSQL Serverに接続すると
接続ユーザがxxxxx\Guest
となり、接続に失敗しました。
この場合は旧来どおりログインユーザをローカルアカウントに変更して対応しました。
下記画像はローカルアカウント状態のスクリーンショットです。