• ベストアンサー
  • 暇なときにでも

VBでSQLサーバーへ接続できない

WVD2008ではSQLサーバーへ接続できて、データも表示できるのに、 VB2008からは最初の設定画面がわかりません。 添付の図は 右:WVD 左:VB です。 WVDは データソース:Microsoft SQL Server (SqlClient) サーバー名:○○○\SQLEXPRESS データベース名:master と入力しテスト接続すると「成功」します。 しかしVBは データソース:Microsoft SQL Server Compact 3.5 データベースファイル名:○○○\SQLEXPRESS もしくは データソース:Microsoft SQL Server データベース ファイル (SqlClient) データベース:○○○\SQLEXPRESS と入力しテスト接続すると「見つかりません」となります。 アクセスへなら データソース:Microsoft Access データベース ファイル (OLE DB) データベースファイル名:C:\\Desktop\Documents\○○○.mdb として接続できます。 接続できないというよりもVBにおいてのSQLサーバーへの設定方法がわかりません。 VBにて サーバー名:○○○\SQLEXPRESS データベース名:master へ接続したい場合はどうすればいいでしょうか? ご教授よろしくお願い致します。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1516
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

データベースファイルへアクセスしようとしているのでしょうか? Microsoft SQL Server であれば、 データソースの変更ボタンを押して、 Microsoft SQL Server(データベースファイル)から Microsoft SQL Serverに変更し、てもだめでしょうか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます!!! 図まで添付してくださって助かります! しかし確認したところ 私の場合は 「データソースの変更」画面で表示されるものが ・Microsoft Access データベースファイル ・Microsoft SQL Server Compact 3.5 ・Microsoft SQL Server データベースファイル の3つしかありません。 どうすれば「Microsoft SQL Server」を表示させることができるのでしょうか? OSはvistaです。 足りない部分があれば補足します。 再度よろしくお願いします。

関連するQ&A

  • WindowsCE5.0マシンでSQLサーバに接続

    WinXP、VS2005(VB)においてデバイスアプリケーションを作成しています。そこで、サーバー側のSQLServer2005Expressに接続したいのですがうまくいきません。ちなみに実行は、PocketPC2003のエミュレーターを使用しています。[SqlClient]を使用してConnectionStringに、 "Data Source=PC名\sqlexpress;Initial Catalog=DB名;Persist Security Info=True;User ID=sa;Password=パスワード;Connection Timeout=10" を入れてOpenしようとしているのですができません。ポイントは(1)そもそも[SqlClient]を使用してSQLサーバーにアクセスできるか?(2)エミュレータに設定が必要(IEでHPの観覧が出来るのは確認できた)(3)接続文字列が不備?(ただし通常のWindowsアプリでは動作確認できている) いろいろと要因はあるかと思いますが、まず何か思い当たるところがありましたらご教授ください。(SQLサーバーはF/Wは無効にしていますし外部からの接続は確認できています)

  • いきなりSQLサーバーに接続できなくなりました。

    OS:vista SQL:Microsoft SQL Server 2005(無料版) 昨日までなんの問題もなくSQLサーバーに接続できていたのですが 今日パソコンをつけたら(シャットダウンしていた) SQLサーバーに接続できなくなりました。 何が起きたのかわかりません。 何も設定は変えていません。 エラーメッセージは ___________________________________________________ SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: 共有メモリ プロバイダ, error: 40 - SQL Server への接続を開けませんでした) (.Net SqlClient Data Provider) Error Number: 2 Severity: 20 State: 0 ___________________________________________________ です。 参考に画像を添付します。 上:SQLサーバー接続時のエラー 下:アクセスからSQLサーバーのテーブルにリンクしているのですが テーブルが開けない時のエラー もしかしたらパソコンを落とした時ウインドウズアップデートが発生していたのかもしれません。 初心者の為、何が起きたのかよくわかりません。 ここからどうしたらよいか教えてください。 よろしくお願いします。

  • エラーを発生させたい(SQLサーバーへの接続)

    ネットのサンプルコードでSQLサーバーの接続テストをしましたが、 存在しないSQL文でもエラーになりません。(vb2005です) Sub sqlサーバーへ接続() ' 接続文字列を生成する Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim stConnectionString As String = String.Empty stConnectionString &= "Data Source = ××××\SQLEXPRESS;" stConnectionString &= "Initial Catalog = ×××;" stConnectionString &= "Integrated Security = SSPI;" ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() SQL = Cn.CreateCommand SQL.CommandText = "SELECT テーブル1.あああフィールド1 FROM テーブル1" '間違ってても進んでしまう。 ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close() cSqlConnection.Dispose() End Sub 「あああフィールド1」なんて存在しないのに、先に進んでしまいます。 エラー処理の仕方を教えてください。 よろしくお願いします。

  • VB2005よりSQLServer2005への接続

    VB2005 Express版とSQL Server 2005製品版をインストールしました。 VB2005のデータベースエクスプローラよりデータベースの追加で 作成済みのSQLデータベースに接続しようとした所以下のエラーメッセージが出て接続出来ません。  ちなみに、メッセージの出ているリモート接続は確認しました。  リモート接続(TCP/IP及び名前付きパイプを使用する。) (エラーメッセージ) サーバーへの接続を確立している時にエラーが発生しました。SQL Server 2005に接続している時にこのエラーが発生した場合はSQL Serverの既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。(provider:SQLネットワークインターフェイス,,error:26 - 指定されたサーバー又はインスタンスの位置を特定しているときにエラーが発生しました) どなたか、解決の為のアドバイスを下さい。 当方、VBおよびSQLも今回初めて使用します。  

  • SQL Server サーバー名を削除したい

    こんにちは! PC環境は、Windows XP SP3です。SQL Server 2008 R Expressが入っています。 「ひと目で分かる Visual C#アプリケーション開発入門」という本を買ってきて勉強をしようと思っています。 サーバーエクスプローラーから新しいSQL Serverデータベースの作成を選択したら添付のような画面が出てきました。 ここに「サーバー名」という項目があります。この中に、「ABC\SQLEXPRESS」や「S120」などがあります。 質問1: サーバー名とは何でしょうか?サーバー名というからには、SQL Serverを実行しているホスト名だと思うのですが、サーバー名を見ると4つくらいサーバー名が最初から登録されています。これは何でしょうか?また削除することはできるのでしょうか? 質問2: 1年くらい前に同じ勉強をしてデータベースまで既に作っています。その時つくったのが、「「ABC\SQLEXPRESS」、データベース名「TaskManage」でした。同じ名前のデータベースを作ろうとすると、既にデータベースがあるので作れませんと表示されてしまいます。 勉強の為に、再度データベースをつくりなおしたいのですが、過去に作ったデータベースはどのように削除すればよいでしょうか? 以上、宜しくお願い致します!!

  • VBでSQL Serverに接続したいのですが

    お世話になります。大変困っているので助けてください。 VB 2008EXPRESS EditionとSQL Server EXPRESS Edition(共に無償)をネットからダウンロードしてインストールしました。 VBからSQL Serverに接続したく以下のようなコードを記述しました。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' 接続文字列を生成する Dim stConnectionString As String = String.Empty stConnectionString = "Server=ABSAN\SQLEXPRESS;Initial Catalog=ABSAN;Integrated Security = SSPI;" ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close() cSqlConnection.Dispose() End Sub 結果として、「SqlEXceptionはハンドルされませんでした」旨のメッセージが帰ってきます。 但し、自分でもData SourceとInitial Catalogの設定のところがこれでいいのかと思っています。 何らかの形で正しい設定をしたいのですが、サーバのインストール時にこのような設定があったように記憶がありません。 また他にも原因があるようでしたら教えてください。 全然わかってないのですが、アクセスするDBファイルはまだ存在しません。 上記コードではとりあえずローカルのサーバに接続するという概念で受け取っていますが、間違っていますでしょうか? 何分急いで下ります。よろしくお願いいたします。

  • VBExpressからSQLサーバーへの接続

    VBExpress2010をDLしSQLServercompactをいじろうと思ったのですが、接続がそもそも出来ず詰まってしまいました。 適当にフォームを作ってボタンを配置し、 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim St As String Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim ServerName As String = "C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Samples\Northwind.sdf"     Dim DatabaseName As String = "Northwind" 'データベース St = "Server=""C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Samples\Northwind.sdf"";" St &= "integrated security=SSPI;" St &= "initial catalog = Northwind" Cn.ConnectionString = St SQL = Cn.CreateCommand SQL.CommandText = "SELECT FirstName FROM Employees" Cn.Open() MsgBox(SQL.ExecuteScalar) Cn.Close() SQL.Dispose() Cn.Dispose() End Sub としました。結構単純な流れだと思うのですがCn.Open()の部分で「sqlexpressionはハンドルされませんでした」とエラーが出ます。 SQL Network Interfaces, error: 26 だそうです。資格情報の有無もなにもデータベースエクスプローラで内部の閲覧は出来るし、パスワードフリーなのでどのセッションが不可なのか見当がつきません。アドバイスよろしくお願い致します。

  • クライアントからVB2005 .netアプリでSQL Serverに接続できない

    プログラムの配布で困っています。 ■環境 【開発環境兼サーバー】 ・WindowsXP Professinal SP2 ・SQL Server 2005 Express ・Visual Basic 2005 Express ・Microsoft .net Framework 3.5 SP1 ・MDAC 2.8 【クライアントA】 ・WindowsXP Professinal SP2 ・SQL Server 2005 Express ・Visual Basic 2005 Express ・Microsoft .net Framework 3.5 SP1 ・MDAC 2.8 【クライアントB】 ・WindowsXP Home SP2 ・Microsoft .net Framework 3.5 SP1 ・MDAC 2.8 上記環境でプログラムを作成し、VBの 発行ウィザードで 配布プログラムを作成し、クライアントで実行してみました。 .netも無事インストールされ、プログラムを起動すると、 .net Frameworkから 「System.Data.SqlClient.SqlException: SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: SQL ネットワーク インターフェイス, error: 26 - 指定されたサーバーまたはインスタンスの位置を特定しているときにエラーが発生しました)」 とでて起動できません。 開発環境兼サーバーではもちろんローカルのSQL Serverに接続できます。 クライアントAから開発環境兼サーバーへも接続できます。 クライアントBから開発環境兼サーバーへは接続できません。 ちなみに、クライアントBからODBCに設定もエラーで出来ませんでした。 データベースにはADO.netで使用してます。 いろいろとネットで検索して調べてみましたが、解決には 至りませんでした。 クライアントに何か足りないものがあるのでしょうか。 長くなりましたが、どうぞよろしくおねがいします。

  • VB2005のデータソースの切り替えについて

    VB2005を使用して社内の業務ソフトウェアの開発をしています。 本番環境ではデータベースソフトとしてSQL Server 2005を使用する予定になっているのですが、開発環境ではAccessのmdbファイルを使用したいと考えています。 この場合、Accessのファイルをデータソースとして開発したプロジェクトに含まれる、app.configの <connectionStrings> <add name="テストDB.My.MySettings.テストDBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\テストDB.mdb" providerName="System.Data.OleDb" /> </connectionStrings> の部分を、 <connectionStrings> <add name="テストDB.My.MySettings.テストDBConnectionString" connectionString="Data Source=[サーバー名];Initial Catalog=テストDB;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> と書き換えても、うまく動作しません。 データベースに接続するのがOleDbConnectionになっているため、データソースをSQL Serverに変えても動かないのはわかるのですが、開発時にAccessを使用して、本番環境ではSQL Serverを使用する、といった切り替えを簡単にできる方法というのはあるのでしょうか? SQL Server同士であればapp.configの接続文字列を変えるだけで簡単に変更することができたのですが...

  • VB2005からMSDE2000Aに接続したいのですが、、

    VB2005からMSDE2000へ接続しようと思います。このMSDE2000へAccess2002では接続できているのでMSDE2000自体には問題はないかと思います。 手順は: VB2005にSqlConnectio1を配置し、 ConnectionString → 新しい接続 の 接続の追加でデータソースとデータベースファイル名を指定して接続の確認を行うのですが --- エラー ---- サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: 名前付きパイプ プロバイダ, error: 40 - SQL Server への接続を開けませんでした) となって接続できません。 チェックポイントはどこでしょうか? よろしくお願いします。