質問者
WINDOWS 2000 Profetional でVB.NET 2005 のプログラムの接続(SQL SERVER 2005)が失敗する。

質問
-
Windows-XP PRO 上で VB.NET 2005 + SQL SERVER 2005 DEVELOPER EDITION を用いたプログラムを開発しました。
これを WINDOWS 2000 PROFETIONAL の クライアントPCで動かそうとすると 接続が失敗します。
WINDOWS ドメインではないので SQL SERVER 2005 の認証でログインさせるように作成しました。
どうしても うまくゆかないので クライアント側の環境に問題があるのかご存知のかたいらっしゃいましたら
お願いします。
WINDOWS 2000 PROFETIONAL には 最初、ADO.net 2.0 関連のモジュールは何もしないで実行
しましたが失敗。 ACCESS 2000 で接続すると 正常に SQL SERVER 2005 と接続でき クエリーなど
がうまく動作できました。
その後、MSから ADO.net 2.0 関連のモジュールをダウンロードしてインストール VB.net 2005 Express、
SQL SERVER 2005 Express をインストールしましたが やはり失敗してしまいます。
以下のモジュールに関数を作成し、これをWindows フォーム側から呼び出して使用していますImports SQLclass = System.Data.SqlClient
Imports VBClass = Microsoft.VisualBasic
Imports System.Windows.Forms
Module 共通モジュール
Public SQL_Cnn As New SQLclass.SqlConnection(My.MySettings.Default.SSIS_TESTConnectionString)
'Public SQL_TRAN As SQLclass.SqlTransaction = SQL_Cnn.BeginTransaction
Public SQL_Cmd As SQLclass.SqlCommand = SQL_Cnn.CreateCommand()
Public Dr As SQLclass.SqlDataReader
Class UsrERR
'エラーハンドリング system.Exception をフックして加工した結果を上位へを返す
Inherits Exception
Public Sub New(ByVal msg As String, ByVal InnerException As Exception)
MyBase.New(msg, InnerException)
End Sub
End Class
Function GetSqlQuery(ByVal QueryStr As String) As DataTable
'指定されたSQLクエリーを実行し、結果をDatatableへ返す
Dim ErMsg As String = ""
Dim I As Integer
Dim dt As New DataTable
GetSqlQuery = New DataTable
Try
SQL_Cnn.Open()
SQL_Cmd.CommandText = QueryStr
Dr = SQL_Cmd.ExecuteReader
'dt = Dr.GetSchemaTable
For I = 0 To Dr.VisibleFieldCount - 1
dt.Columns.Add(Dr.GetName(I)) '項目名を作成する。
Next I
Dim WROW As DataRow
Do While Dr.Read
WROW = dt.NewRow
For I = 0 To Dr.VisibleFieldCount - 1
WROW.Item(Dr.GetName(I)) = Dr.Item(I) '1行分のデータを取得する
Next I
WROW.EndEdit()
dt.Rows.Add(WROW) 'Datatableへ行を追加する。
Loop
GetSqlQuery = dt
Catch except As System.Exception
ErMsg = "GetSqlQuery関数にてSQL(" & QueryStr & ")の実行に失敗しました。"
Throw New UsrERR(ErMsg, except)
Finally
If Not (Dr Is Nothing) Then
Dr.Close()
End If
SQL_Cnn.Close()
End Try
End Function
End Module
すべての返信
-
trapemiya さま お世話になります。
インストールは 以下のものを行いました。
①Microsoft .NET Framework 2.0 日本語 (x86) 本体
②Microsoft .NET Framework 2.0 SDK 日本語版 (x86)
③Microsoft .NET Framework 2.0 日本語 Language Pack (x86)
④VB.NET 2005 Express Edtionこれらには mdac 2.8 は含まれておりませんでしょうか?
このあたりのことはあまり理解しておりませんのでよろしくお願いします。 -
中博俊 さま お世話になります。
接続文字列は以下の通りです。
connectionString="Data Source=Mxxxx-XP;Initial Catalog=SSIS_TEST;Persist Security Info=True;User ID=sa;Password=xxxx"
SQL SEVER NATIVE CLient はインストールしました。
やはり、接続時にエラーがでます。 内容は下記のとおりです。
セキュリティポリシーで許可されていない操作をアプリケーションが実行しようととしました。必要なアクセス許可をこのアプリケーションに与えるには システム管理者に連絡するか、Microsoft .NET Framework 構成ツールを使用してください。
[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行します。
[終了]をクリックすると、アプリケーションは直ちに終了します。
型 system.Data.SqlclientPermission, system.data
Version=2.0.0.0 Culture=natural, Publickey Token = b77a5cxxxxxxxx
のアクセス要求に失敗しました。