お久しぶりです。ジープです。
以前からSqlServerとの接続でうだうだやらせていただいてましたが、今回は少し変わったところ?で質問です。
現在の問題として、ODBC(システムDNS)がないと接続が出来ない、という場面に直面しており、そのため、プログラムでシステムDNSを作成する処理を作成したのですが…
実際、下記のコードでシステムODBCが作成されることを確認したまではよいのですが、「ポートを動的に決定する」のチェックボックスをはずす際の文字列が発見できませんでした。
(※ODBCデータソースアドミニ→システムDNS(構成)→クライアントの設定→TCP/IPのところのヤツです。)
参考文献としてhttp://msdn2.microsoft.com/ja-jp/library/ms130822.aspxを見ていましたが、どっか見落としてるところでもあるのでしょうか…(・ω・`)
ご返答お待ちしておりますorz
======以下ソースコード=====
Const ODBC_ADD_SYS_DSN As Integer = 4 'システムDNSの追加
' API 宣言
Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _
(ByVal hwndParent As Integer, ByVal fRequest As Integer, _
ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TextBox1.Text = "接続中..."
' データソースの追加
Dim intRet As Integer
Dim Driver As String
Dim attribs As String
Driver = "SQL Server"
attribs = "SERVER=" + "SOFT-20073-TW2,1433" + Convert.ToChar(0)
attribs += "DESCRIPTION=" + Convert.ToChar(0)
attribs += "DSN=" + "TEST2" + Convert.ToChar(0)
attribs += "DATABASE=" + "TEST" + Convert.ToChar(0)
attribs += "Trusted_Connection=no" + Convert.ToChar(0)
' データソースの登録
intRet = SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, Driver, attribs)
' 登録の成功・失敗の判断
If intRet Then
TextBox1.Text = "データソースが登録されました。"
Else
TextBox1.Text = "登録されませんでした。"
End If
End Sub