Microsoft が開発した、.NET で使用できるオブジェクト指向のプログラミング言語。
いったいどこからAccessのConnectionStringにConnect Timeoutが使えるという情報を得たのですか?
32bit,64bitを試してもどちらでも対応してないですよ?
Windows8の古いエンジンで試しても対応してないですよ?
OleDbConnectionStringBuilderのプロパティがDataSource,FileName,Providerのような基本的な設定しかないことからもわかるように、そもそもConnectionStringには最低限の決め事しかなく、それ以外はプロバイダが独自に決めていることです。
たとえばDataSetデザイナなどで接続設定するときのダイアログをみれば、どのような設定があるかを見ることができます。
ですから、Connect Timeoutがあるかどうかはプロバイダ次第です。
Sub Main()
Const provider As String = "Microsoft.ACE.OLEDB.12.0"
Const dbpath As String = "D:\1.mdb"
Try
System.Diagnostics.Debug.WriteLine($"ADODB.Connection")
Dim o = CreateObject("ADODB.Connection")
o.Open($"Provider={provider};Data Source={dbpath}")
For Each p In o.Properties
System.Diagnostics.Debug.WriteLine($"{vbTab}{p.Name}={p.Value}")
Next
Catch
End Try
Try
System.Diagnostics.Debug.WriteLine($"Access")
Dim access = CreateObject("Access.Application")
access.Visible = True
access.OpenCurrentDatabase(dbpath)
Dim connectionString = CStr(access.CurrentProject.Connection.ConnectionString)
For Each part In connectionString.Split(";")
System.Diagnostics.Debug.WriteLine(part)
Next
access.Quit()
Catch
End Try
Try
Dim builder As New System.Data.OleDb.OleDbConnectionStringBuilder
builder.Provider = provider
builder.DataSource = dbpath
Catch
End Try
End Sub
もともとローカルファイルのデータベースであるAccessのためのプロバイダには、接続タイムアウトという考えがないのでしょう。