*MSSQL 2014 Express [#jd7b8a04] RIGHT:更新日&lastmod(); **ユーザによるアクセス権制御 [#td15193f] ''条件'' -ユーザ認証はWindows認証 以下のように設定するとADグループの営業部に属するメンバーがデータベースTESTを Read/Writeできる。 ロールメンバーシップpublicはすべてが属し消すことができない &ref("./権限1.png"); -スキーマ:テーブル、ビュー、および制約などのSQLオブジェクトの集まりである -dbo(データベースオーナ):データベース作成者名でsaで作成した場合のスキーマ名 **Excel VBAからアクセス [#md8c1e09] -ホスト:WIN2008R2SQL -DB名:SQLEXPRESS -DB:TEST -テーブル:Table_1 -認証:Windows認証 -表示場所:Sheet2のA1から Private Sub CommandButton21_Click() ' Create a connection object. Dim cnPubs As ADODB.Connection Set cnPubs = New ADODB.Connection ' Provide the connection string. Dim strConn As String 'Use the SQL Server OLE DB Provider. strConn = "PROVIDER=SQLOLEDB;" 'Connect to the Pubs database on the local server. ' SOURCE=(ホストサーバ名)\(データベースサーバ名);INITIAL CATALOG=(データベース);" 'strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;" strConn = strConn & "DATA SOURCE=WIN2008R2SQL\SQLEXPRESS;INITIAL CATALOG=TEST;" 'Use an integrated login. 'Windows認証 "INTEGRATED SECURITY=sspi" こちらがよい 'OR "Trusted_Connection = Yes"でもWindows認証OKみたい strConn = strConn & " INTEGRATED SECURITY=sspi;" 'Now open the connection. cnPubs.Open strConn '-------------------------- ' Create a recordset object. Dim rsPubs As ADODB.Recordset Set rsPubs = New ADODB.Recordset With rsPubs ' Assign the Connection object. .ActiveConnection = cnPubs ' Extract the required records.(SQLの発行) '.Open "SELECT * FROM Authors" .Open "SELECT * FROM Table_1 Where ID=3" ' Copy the records into cell A1 on Sheet1. Sheet2.Range("A1").CopyFromRecordset rsPubs ' Tidy up .Close End With cnPubs.Close Set rsPubs = Nothing Set cnPubs = Nothing End Sub ** Excelにインポート [#s7910d48] その他のデータソース→SQLサーバ -サーバ名:WIN2008R2SQL\SQLEXPRESS -Windows認証を使用する 次へ -使用するデータが含まれているデータベースを選択:TEST -指定したテーブルに接続(チェック) 次へ -接続ファイル名:このファイルを実行すると同じことができる -フレンドリ名:WIN2008R2SQL_SQLEXPRESS TEST Table_1 完了