データベース(SQL Server)に接続する(ADO)
データベース(SQL Server)に接続
ODBC または OLE DB で接続します。ODBC 接続する場合は、ODBCデータソースを作成する必要があります。
接続文字列
    <ODBC 接続>
    DNS = DataSourceName;
    [ UID = UserName;]
    [ PWD = Password;]
    <OLE DB 接続>
    Provider = SQLOLEDB;
     Data Source = ServerName;
    [Ninsyo;]
    [ User ID = UserName;]
    [ Password = Password;]
引数・戻り値
- DataSourceName ・・・ ODBC データソース名を指定します。
- UserName ・・・ ユーザー名を指定します(Windows認証の場合は不要)。
- Password ・・・ パスワードを指定します(Windows認証の場合は不要)。
- ServerName  ・・・  サーバーのホスト名、IPアドレス、ネットワーク上のPC名等を指定します。またポートも指定できます。
 (例)localhost、127.0.0.1,1433、DesktopPC\SQLEXPRESS
 ※DesktopPC はネットワーク上に表示されるPC名で、SQLEXPRESS はインスタンス名です。ポートを指定する場合は、「,」のあとに指定します。
- Ninsyo ・・・ SQL Server認証の場合は不要です。Windows認証の場合は次のいずれかを指定します。Trusted_connection=yes または、Integrated Security=SSPI
データベース(SQL Server)接続
サンプルVBAソース
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | Sub Sample_ADO_SQLServer()     Dim constr As String     'OLE DB     Const MYPROVIDERE = "Provider=SQLOLEDB;"     Const MYSERVER = "Data Source=localhost,1433;"                'サーバー,ポート     Const MYNINSYO = "Trusted_connection=yes;"                    'Windows認証の場合(「"Integrated Security=SSPI;"」でもよい)     Const MYDATABASE = "Initial Catalog=TestDB01;"                '接続するデータベース名     constr = MYPROVIDERE & MYSERVER & MYNINSYO & MYDATABASE       'Windows認証の場合     'Const USER = "User ID=sqluser;"                               'SQL Server認証の場合のみ指定     'Const PSWD = "Password=psword;"                               'SQL Server認証の場合のみ指定     'constr = MYPROVIDERE & MYSERVER & MYDATABASE & USER & PSWD    'SQL Server認証の場合     'ODBC     'Const DSN = "DSN=SQLServer_TESTDB01;"        'ODBCユーザーデータソース名     'constr = DSN                                 'Windows認証の場合     'Const USER = "UID=sqluser;"                  'ユーザー名(SQL Server認証を使用する場合のみ指定)     'Const PSWD = "PWD=psword;"                   'パスワード(SQL Server認証を使用する場合のみ指定)     'constr = DSN & USER & PSWD                   'SQL Server認証の場合     Dim cn As New ADODB.Connection     Dim Rs As New ADODB.Recordset     Dim strSQL As String     Dim i As Long     Dim j As Long     cn.ConnectionString = constr     cn.Open     strSQL = "Select * from T_SYAIN;"     Rs.Source = strSQL     Rs.ActiveConnection = cn     Rs.Open     With Worksheets("sqlserver")         .Cells.Clear         i = 1         Do Until Rs.EOF             For j = 0 To Rs.Fields.Count - 1                 If i = 1 Then .Cells(i, j + 1) = Rs.Fields(j).Name                 .Cells(i + 1, j + 1) = Rs(j).Value             Next j             Rs.MoveNext             i = i + 1         Loop     End With     Rs.Close     Set Rs = Nothing     cn.Close     Set cn = Nothing End Sub | 
実行結果
関連記事
-  
              
- 
      データベース(Oracle)に接続する(oo4o)oo4o 接続 OO4O(Oracle Objects for OLE)はWin … 
-  
              
- 
      クエリの作成・削除(ADOX)ADOX を使用してクエリを作成・削除 クエリを作成する手順 【書式】 <参照設 … 
-  
              
- 
      Excelファイルに接続(ADO)ADOでExcelファイルに接続 ADO を使用してExcelファイルを読み込み … 
-  
              
- 
      データベース(Oracle)に接続する(OLE DB を使用)OLE DB プロバイダ OLE DBには、Oracle 提供の Oracle … 
-  
              
- 
      Excel VBA のクラスを使ってデータベースへ接続する(ADO)データベースの処理をクラスモジュールに書く ExcelVBAで、クラス使用する方 … 
-  
              
- 
      レコードを並べ替える(ADO)Sort プロパティデータベースのレコードを並べ替える Sort プロパティ 【書式】 object … 
-  
              
- 
      CSVファイルに接続(ADO)ADOでCSVファイルに接続 ADO を使用してCSVファイルを読み込みます。C … 
-  
              
- 
      BOF プロパティ・EOF プロパティ(ADO)EOF プロパティ・BOF プロパティ BOF プロパティは、カレントレコードの … 
-  
              
- 
      トランザクション(ADO)BeginTrans、CommitTrans、RollbackTransADO でのトランザクション処理 【書式】 Sub Sample_Transac … 
-  
              
- 
      データベースを作成する(ADOX)ADOX を使用してデータベース(Access)を作成 Catalog オブジェ … 
- PREV
- CSVファイルに接続(ADO)
- NEXT
- データベース(MySQL)に接続する(ADO)
 
        
