tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVS.NETが入っていない端末でのみエラー
記事No452
投稿日: 2003/09/26(Fri) 09:21
投稿者パンダーZ
[OSのVer]:Windows2000Pro    [VBのVer]:VB.NET

はじめまして。
VB.NET初心者です。(以前のバージョンの経験も無し)

VB.NETで開発したアプリケーションがうまく動かず、困っています。
どなたか教えて下さい。

以下のコードは、現在開発中のWindowsアプリケーション内のプロシージャです。

VisualStudio.NETがインストールされている端末に
このアプリケーションをインストールし実行すると正常に動作するのですが、
そうでない端末(.NET Frameworkはインストール済)にインストールし実行すると
コネクションをOPENする所(★1)でエラーになってしまいます。

更に、キャッチしたエラーの番号とメッセージを出力させようとしたのですが(★2)、
番号は「0」、メッセージは何も出てきません。

接続先はSQLServer2000なのですが、
SQLServerのプロファイラから見た所、アプリケーションから接続しに来ている様子もありません。

又、セットアッププロジェクト作成の際に、
「見つかった依存関係」で「dotNETFXRedist_x86_jpn.msm」が表示されるのですが、
「dotNETFXRedist_x86_jpn.msm は .NET Framework の再配布には使用できません。
このマージモジュールを除外して下さい。」
というメッセージが出力され、除外しなければビルド失敗となってしまいます。
VisualStudio.NETがインストールされていない端末にこのファイルは存在せず、
コネクションOPEN時のエラーはこれに関係しているような気がするのですが。

VisualStudio.NETがインストールされている端末では正常に動作する為、
デバッグのしようもありません。

どなたかご存知の方、返答を宜しくお願い致します。


*******************************************************************************

Private Sub Test()

dim cnn as New SqlConnection
dim rdr as SqlDataReader
dim cmd as New SqlCommand()

Try

cnn.ConnectionString = "data source=サーバ名;" & _
"initial catalog=DB名;" & _
"integrated security=SSPI;" & _
"persist security info=False;"
"workstasion id=" & SystemInformation.ComputerName & ";" &
_
"packet size=4096"

cmd.CommandText = "dbo.[ProcName]"
cmd.CommandType = System.Data.CommandType.StredProcedure
cmd.Connection = cnn

cnn.Open() ←←←(★1)

Try
rdr = cmd.ExecuteReader
Catch ex as Exception
GoTo proc_error
End Try



(略)



proc_exit:
cnnC001.Close()
Exit Sub

proc_error:
MsgBox("num = " & Err.Number & " , string = " & ErrorToStri
ng(Err.Number)) ←←←(★2)
GoTo proc_error

End Sub

*******************************************************************************


  

[ツリー表示へ]
タイトル自己レス
記事No454
投稿日: 2003/09/29(Mon) 09:11
投稿者パンダーZ
[OSのVer]:Windows2000Pro    [VBのVer]:VB.NET

すみません。
メッセージの取り方が間違っていたようです。
ex.message で取れました。

どうやら、MDACが2.6以上でなければならなかったらしく、
それが原因でコネクション確立に失敗していたようです。
インストーラにレジストリ値による起動条件を追加することにより
回避することにしました。

ご迷惑をお掛けしました。

[ツリー表示へ]