none
プログラムでODBCを作成する際の設定文字列について RRS feed

  • 質問

  • お久しぶりです。ジープです。

     

    以前から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

    2007年6月5日 4:45