• 締切済み

ASP2.0からSQLserver2000への認証

開発環境:VisualStudio.net2005 ASP.net DB:SQLServer2000 ログインコントロールで下記のコードを作成したところ 開発環境ではうまくいっているのですが、Webサーバーにリリースしたところうまくいきません。 ------------------------------------------------------------------------------------------------------------- Protected Sub Login1_LoggingIn(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles Login1.LoggingIn ' 入力されたユーザーID、パスワードでusrテーブル内のレコードを検索 Dim objDb As New SqlConnection("Data Source=dbserver;Initial Catalog=testdb;Persist Security Info=True;User ID=testusr;PassWord=hogehoge") Dim objCom As New SqlCommand("SELECT * FROM member WHERE LoginID=@LoginID AND LoginPass=@LoginPass", objDb) objCom.Parameters.Add("@LoginID", Login1.UserName) objCom.Parameters.Add("@LoginPass", Login1.Password) objDb.Open() Dim objDr As SqlDataReader = objCom.ExecuteReader() If objDr.Read() Then ' 検索の結果、該当するレコードが存在した場合、認証は成功 FormsAuthentication.RedirectFromLoginPage(Login1.UserName, False) End If objDb.Close() End Sub ---------------------------------------------------------------------------------------------------------------- DB内のデータはとれている(objDrの中身が入ってることをデバック実行にて確認) ので、認証の部分で失敗しているのかと思い http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000010.aspx 等を参考してみたのですが、 「サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました) 」 というメッセージが出力されて、認証ができません。 どなたかアドバイス等ありましたらご教授できませんでしょうか。

  • kan4
  • お礼率25% (1/4)

みんなの回答

回答No.2

お世話になります。 SQL SERVER は 2000 でしたか。大変失礼しました。 同じものにあたるのは、多分 [スタート]→[全てのプログラム]→[Microsoft SQL Server]の中の クライアント ネットワーク ユーティリティ サーバー ネットワーク ユーティリティ ではと思います。

kan4
質問者

補足

クライアント ネットワーク ユーティリティ サーバー ネットワーク ユーティリティ 共にTCP/IPは有効になっているみたいです。 うーん・・・。 もうちょっと調べてみようと思います。

回答No.1

お世話になります。 > SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 SQL Server 2005 はデフォルトでは TCP/IP の接続が無効になっています。 以下の操作を行っわれてみてはいかがでしょう。 [SQL Server 2005でネットワーク接続を有効にするには?] http://www.atmarkit.co.jp/fdotnet/dotnettips/545sqlsvrnet/sqlsvrnet.html

kan4
質問者

補足

DBはSQLServer2000なんですよね。 SQLServer2005のSQLEXPRESSのセキュリティの設定に該当するところがみつからなく、こまっています。

関連するQ&A

  • SQLServerデータをDataGridに表示時にエラーが発生

    SQLServerデータをDataGridに表示時にエラーが発生 visual Studio2008を使用し、SQLServerから条件を指定しそれをDataGridに一覧表示するvbを組んでいますが、エラーが解消しなく困っております。対応方法について教えてください。 【状況】 1 Dim St As String 2 Dim Cn As New System.Data.SqlClient.SqlConnection 3 Dim SQL As System.Data.SqlClient.SqlCommand 4 Dim ServerName As String = "Server名"  5 Dim UserID As String = "id" 6 Dim Password As String = "×××" 7 Dim DatabaseName As String = "Dbname" 8 Dim Adapter As New SqlClient.SqlDataAdapter(SQL, Cn) 9 Dim table As New DataTable 10 St = "Server=" & ServerName & ";" 11 St &= "User ID=" & UserID & ";" 12 St &= "Password=" & Password & ";" 13 St &= "Initial Catalog=" & DatabaseName 14 Cn.Open() 15 Cn.ConnectionString = St 16 SQL = Cn.CreateCommand 17 SQL.CommandText = ("SELECT * FROM CUSTOMER_M WHERE CUSTOMER_NAME LIKE " & "'%' & TextBoxName.Text & '%'") 18 Adapter.Fill(table) 19 DataGrid1.DataSource = table 20 Cn.Close() 21 SQL.Dispose() 22 Cn.Dispose() 8行目の「Adapter」がエラーになり、オーバーロードの解決に失敗しましたとメッセージが出ています。8行目の(SQl、Cn)を省くとコンパイルエラーはなくなりますが、14行目でエラーになります。 宜しくお願いします。

  • レプリケーションでのSQLServer認証について

    マージレプリケーションまたは、サブスクリプションで変更可能なトランザクションレプリケーションを設定しようとしています。 SQL Server認証で行いたいと考えています。 マージパブリケーションを設定したあと、サブスクリプションを作成しようとしたところで、以下のようなエラーが発生します。 -------------------------------- ジョブは失敗しました。 所有者 AAA (ジョブ BBBB) にはサーバーへのアクセス権がありません. -------------------------------- (このAAAという所有者はWindowsのユーザーです) 思い当たるのが、サブスクリプションの設定をする時の「マージ エージェントセキュリティ」の「サブスクライバに接続」の箇所は、「プロセスのアカウントを借用する」しか選べません。「SQL Serverログインを使用する」を選びたいのですが・・・。 全てのやりとりをSQL Server認証で行うには、どこを設定したらよいでしょうか??widnows認証でしかレプリケーションの設定を行えないのでしょうか?? パブリケーションは、SQL SERVER 2005 Developer サブスクリプションは、SQL SERVER 2005 EXPRESS です。

  • SQLServer認証とWIndows認証

    お世話になります。 現在リモートのSQLServerにVB.NETのアプリからADO.NETで接続しようとしていますが、Windows認証の接続ができなく困っております。 sqlcmdコマンド使いSQLServer認証で確認すると以下の方法であっさりできました。 sqlcmd -S DBのホスト名 -U ユーザID -P パスワード -d DB名 しかし、Windows認証は「sqlcmd -S Bのホスト名 -E」を実行するとGuestユーザではログインできるのですが、他ユーザではログインできません。シクライアントPCとDBサーバ間の信頼関係ができていないのが原因のように思われますが、クライアント及びDBサーバのWindowsのログインユーザ名/パスワードは同じ、ワークグループも同じです。 また、SQLServerのManagement Studioを用いてユーザは作成してあります。 エラーは以下となります。 ----------------------------------------------------------- サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: 名前付きパイプ プロバイダ, error: 40 - SQL Server への接続を開けませんでした) ----------------------------------------------------------- お手数お掛けしますが、宜しくお願いします。

  • ASP.NETでSqlServer2000【助けてください】

    ASP.NETでSqlServer2005(ExpressEdtion)のデータを更新・取得したいのですが、なんかうまくいきません。 以下のようなエラーメッセージが表示されます。 『サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました)』 SqlConnectionクラスのコンストラクタに渡している接続文字列の設定は Data Source =localhost Initial Catalog=Test Intergrated Security=True という感じです。 エラーメッセージにあるとおり、SqlServerのほうの設定がおかしいのかなと思って『Sql Serverセキュリティー構成』とかってのでリモート接続可能にしてもやっぱり同様の結果になります。 というか、Accessのデータには接続できるのですが、SqlServerだとダメです。 ためしにVisualStudioのサーバーエクスプローラーから、【新しい接続】でウィザード起動してSql Serverのデータへ接続しようとすると、やっぱり上のエラーメッセージがでちゃいます。コードから接続できないだけなら私が変なコード書いているのか?と思うんですが、ウィザード使っても同様なのって、Sql Serverの設定に問題があるってことですよね?もう全然分かりません。助けてください。

  • VBでメールを送る時のSMTP認証対応が分かりません

    VBで処理をした最後にメールを送る処理を BSMTP.DLLを使ってやっていました 近頃 メールサーバーの仕様が変わり SMTP認証が 必要という知らせがありました そうすると 突然メールが送れなくなり (実はメールが送れなくなってメールサーバーの仕様が変わったことが分かった) あわてて色々調べたら 認証の仕方が書いて有ったので 色々試したのですが うまく送れません コードは以下のようにしています 宣言部分 Private Declare Function SendMail Lib "bsmtp" _ (szServer As String, szTo As String, szFrom As String, _ szSubject As String, szBody As String, szFile As String) As String コード Dim ret As String Dim szServer As String, szTo As String, szFrom As String Dim szSubject As String, szBody As String, szFile As String Screen.MousePointer = vbHourglass szServer = "abc.com" 'SMTPサーバー(ポート番号はしていません なので25) szTo = b@efg.com '宛先 一件のみ ★問題はこの下の行かと思います szFrom = "a:password" & vbTab & "LOGIN" szSubject = ' 件名 以下本文等・・・・・ szFile = "" '添付ファイル無し ret = SendMail(szServer, szTo, szFrom, szSubject, szBody, szFile) If Len(ret) <> 0 Then Screen.MousePointer = vbDefault MsgBox "処理エラーが発生しました。" & "送信不能" & ret Exit Sub Else Screen.MousePointer = vbDefault MsgBox "メール送信終了しました。", vbInformation, "送信完了" End If ★の所でID パスワードはきちんと合ってます でもこれで実行すると パスワードが違うと返ってきます また 認証方式も3つとも試しましたが 同じ結果です bsmtpも最新の物に変えてみました、でもダメでした そもそも書き方がいけないのかサーバーの仕様にあっていないのかも 分かりません szFrom = "a:password" & vbTab & "LOGIN" では a@abc.com から届いたよと言う事が相手に分からないし 書いてみようと思い szFrom = "a@abc.com" & vbTab & "a:password" & vbTab & "LOGIN" szFrom = "a@abc.com:password" & vbTab & "LOGIN" など書いてみましたが ダメでした(認証方式も変えてみた) ちなみに メーラー(アウトルックエキスプレス)では ID a とパスワードで、きちんと認証して送信できるので サーバー自体は問題ないだろうから 記述がおかしいのだろうと思っています どなたかこのあたりを分かりやすく教えていただければ 助かります。 日常業務で使っていたので 大変困ってます よろしくお願いします。

  • VBScriptでASPのオブジェクトを使う方法

    VBScriptでSQLサーバーのDBにアクセスするためASPのserverオブジェクト を使うと ランタイム エラーが発生しました。デバッグしますか? 行:39 エラー:オブジェクトがありません。:'server' とエラーが表示されます。 おそらく次の行だと思うのですが、何か方法を教えてください。 set objDB = server.CreateObject("ABCDB.DBCon")

    • ベストアンサー
    • HTML
  • ASP.NET フォーム認証のエラー??

    いつもお世話になっております。 VS2005にてアプリケーションを作成して 「WEBサイトの発行」でWEBサーバー上にアプリケーションを発行しました。 そのアプリケーションをサーバー上で実行した所、以下のエラーが出ました。 -------------------------------------------------------- 構成にエラーがあります。 パーサーエラーメッセージ:アプリケーションレベルを超えて allowDefinition='MachineToApplication'として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリがIISでアプリケーションとして構成されなかった場合に発生します。 ソースエラー: 行24:             を有効にします。 行25:--> 行26:   <authentication mode="Forms"> 行27:    <forms name="formauth" loginurl="Login.aspx" 行28: <protection="All" path="/" timeout="30"> --------------------------------------------------------- サーバーはWindows2000です。 Loginフォームがあり、フォーム認証のLoginページのみ上記のエラーが出て、他のaspxは普通に表示されます。 フォーム認証に問題があるのでしょうか? どうすれば解決できるのでしょうか?? 勉強して間もなく理解ができなく恐縮ですがご教示下さい。 お願い致します!

  • VB2010 SQLのUPDATE文エラー

    VB2010とAccess2007で使用しています データを日付順に連番を付けるコードを作成したのですが『UPDATE文構文エラーです』等のエラーが発生します? ご教授お願いします。 Private Sub Button連番_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button連番.Click Dim DT As New DataTable Try Using OleCn As New OleDbConnection(mdbPath) Dim SQL As String = "" SQL = "SELECT * FROM tableA ORDER BY 依頼日" Using DA As System.Data.OleDb.OleDbDataAdapter = _ New System.Data.OleDb.OleDbDataAdapter(SQL, OleCn) DT.Clear() DA.Fill(DT) End Using End Using Using OleCn As New OleDbConnection(mdbPath) Dim SQL As String = "" SQL = "UPDATE tableA SET No = @no WHERE 登録ID_Export = @登録ID" Dim OleCmd As New OleDbCommand(SQL) OleCmd.Connection = OleCn OleCn.Open() OleCmd.Parameters.Add("@no", OleDbType.Integer) OleCmd.Parameters.Add("@登録ID", OleDbType.Integer) For i As Integer = 1 To DT.Rows.Count OleCmd.Parameters("@no").Value = i OleCmd.Parameters("@登録ID").Value = CInt(DT.Rows(i)("登録ID_Export").ToString) OleCmd.ExecuteNonQuery() Next i OleCmd.Dispose() OleCn.Dispose() End Using Catch ex As Exception MessageBox.Show(ex.ToString, "例外発生") Exit Sub End Try MsgBox("ok") End Sub

  • エクセルからSQLの接続の仕方

    エクセルを使ってMSSQLに接続したいのですが、エラーがでて接続できません。 なぜでしょうか? [エラー内容] コンパイルエラー: ユーザー定義型は定義されれいません。 コードの下の部分で発生します。 Dim Cn As New System.Data.SqlClient.SqlConnection [コード] Private Sub CommandButton1_Click() Dim St As String Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim ServerName As String Dim UserID As String Dim Password As String Dim DatabaseName As String ServerName = "TEST-PC" 'サーバー名(またはIPアドレス) UserID = "sa" 'ユーザーID Password = "password" 'パスワード DatabaseName = "TEST_DB_20140801" 'データベース St = "Server=" & ServerName & ";" & "User ID=" & UserID & ";" & "Password=" & Password & ";" & "Initial Catalog=" & DatabaseName Cn.ConnectionString = St SQL = Cn.CreateCommand SQL.CommandText = "SELECT * FROM LOG_DATA_XLINE" Cn.Open MsgBox (SQL.ExecuteScalar) Cn.Close SQL.Dispose Cn.Dispose End Sub

  • VB.netでSQLserverに接続したい

    VB2008express で SQLserver2000に接続しようとしています フォーム上で ボタンを2つ作成し button1の記述では接続できるのですが button2では接続できず タイムオーバーになります。 SqlConnectionの使い方など基本的な理解不足かと思いますが お気づきの点あればお願いします。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim DATACNN As String Dim DATAADO As ADODB.Connection DATACNN = "DRIVER={SQL SERVER};" & "SERVER=TESTSERVER;UID=sa;PWD=123;DATABASE=BD" DATAADO = New ADODB.Connection DATAADO.Open(DATACNN) MsgBox("接続1OK") End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim stConnectionString As String = String.Empty stConnectionString &= "Data Source =TESTSERVER;" stConnectionString &= "persist security info=True;" stConnectionString &= "Database=BD;" stConnectionString &= "user id=sa;" stConnectionString &= "password=123;"  Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) cSqlConnection.Open()  ’←タイムオーバーになります MsgBox("接続2OK") cSqlConnection.Close() cSqlConnection.Dispose() End Sub