いつも有難うございます。
SQLサーバーのやり方を教えていただきたいです。
今、ADOで 他のエクセルBookに接続して
SQL文を発行して実行することはできます。
ただ、SQLサーバーとはなにか興味がでてきました。
そこで今、ADOで 他のエクセルBookに接続して
SQL文を発行していますが、同じようなことを
実行する方法を教えていただきたいです。
下記のコードはそれらしいのをみつけたのですが、
どうしたらよいのかさっばりです。
Option Explicit
Private mCon As ADODB.Connection
' Connectionオブジェクトを生成
Public Sub connect()
Dim cn As String
'+ *** 接続文字列 ***
' サーバのIP/ホスト名とDBインスタンス名は適当に書き換えられたし
cn = _
"Provider=SQLOLEDB;" & _
"Network Library=DBMSSOCN; " & _
"Trusted_connection=yes; " & _
"Data Source=127.0.0.1,1433; " & _
"Server=127.0.0.1\SQLSERVER; "
Set mCon = New ADODB.Connection
mCon.CursorLocation = adUseClient
mCon.Open cn
End Sub
' データベースへの接続を解除する
Public Sub disconnect()
mCon.Close
Set mCon = Nothing
End Sub
' 引数のSQL文を実行し、ADODB.Recordsetを返す
Public Function execute(sql As String) As ADODB.Recordset
Dim rs As New ADODB.Recordset
' タイムアウト設定 (20分)
mCon.CommandTimeout = 60 * 20
' 処理された行数を示すメッセージが結果セットの一部として返されないようにする
mCon.execute ("SET NOCOUNT ON")
' 警告メッセージが結果セットの一部として返されないようにする
mCon.execute ("SET ANSI_WARNINGS OFF")
' オーバーフローおよび0除算時にはNULLを返す
mCon.execute ("SET ARITHABORT OFF")
rs.Open sql, mCon, adOpenStatic, adLockBatchOptimistic
Do
' レコードの操作ができるオブジェクト若しくは次のRecordSetがとれず、コネクションが空になった場合終了
If rs.State = adStateOpen Or rs.ActiveConnection Is Nothing Then
Exit Do
End If
Set rs = rs.NextRecordset()
Loop
Set execute = rs
' 設定OFF
mCon.execute ("SET NOCOUNT OFF")
mCon.execute ("SET ANSI_WARNINGS ON")
mCon.execute ("SET ARITHABORT ON")
End Function
' トランザクションを開始する
Public Sub BeginTransaction()
mCon.BeginTrans
End Sub
' トランザクションをコミットする
Public Sub CommitTransaction()
mCon.CommitTrans
End Sub
' トランザクションをロールバックする
Public Sub RollbackTransaction()
mCon.RollbackTrans
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DB接続ができなくなって困って...
-
drop user できない。ORA-01940
-
OLE DBプロバイダを使ってADOで...
-
SQLServer認証とWIndows認証
-
symfowareへのODBC接続方法
-
SQL server2005で OLE DB接続で...
-
SQLで同じDBに対し2つのコネク...
-
サーバー接続時、ホスト名はIP...
-
「最高気温が35度以上の日を猛...
-
SQLサーバー接続 特定のPCがWin...
-
Oracle 8i コンマ(,)を含むデ...
-
サーバーと実行端末が違う場合...
-
sqlcmdでクエリの実行結果をバ...
-
GROUP BYでエラーが発生
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
Access2010 accdbのエラー「ODB...
-
PostgreSqlでFunctionの作成に...
-
IPアドレスによるクライアント...
-
SQL Loaderを使いたい
-
ストアドプロシージャでcsvファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DB接続ができなくなって困って...
-
ACCESSからのODBC接続のみ応答...
-
SQLServer,接続失敗時のエラー...
-
ACCESSからSQLServerのデータを...
-
SQLで同じDBに対し2つのコネク...
-
drop user できない。ORA-01940
-
ACCESS VBAでサーバー起動して...
-
ADOを利用したODBC、OLEDB経由...
-
クライアントでの処理が遅い
-
SQL Serverの移行について
-
symfowareへのODBC接続方法
-
SQLServer認証とWIndows認証
-
SQL Server 2005 Standard Edit...
-
SQLServerの接続が突然できなく...
-
ACCESS ODBC 接続ダイアログ 非...
-
SQLSERVERへのODBC接続について
-
IISから起動したEXEがSqlServer...
-
SQLServer2005 Express リモー...
-
mdbに接続できません
-
MSDEの同時接続ユーザー制限
おすすめ情報