• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBExpressからSQLサーバーへの接続)

VBExpressからSQLサーバーへの接続エラー

このQ&Aのポイント
  • VBExpress2010を使用してSQL Server Compact Editionに接続しようとしましたが、接続エラーが発生しました。
  • ボタンがクリックされたときにデータベースに接続するVBExpressのコードを作成しましたが、Cn.Open()の部分でエラーが発生しました。
  • エラーメッセージによれば、sqlexceptionはハンドルされなかったため、接続ができませんでした。資格情報やパスワードは正しいですが、どのセッションがエラーを引き起こしているのかわかりません。アドバイスをお願いします。

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

  • ベストアンサー
  • Tom-3
  • ベストアンサー率32% (42/130)
回答No.1

方法は変更するので心苦しいのですが、ADOを使用して接続したほうが良いように思います。     Dim StrDBConect As String        'DB接続文字列     Dim AdoConnect As New ADODB.Connection  'ADO接続     Dim AdoCommand As New ADODB.Command   'ADOストアド実行用     Dim AdoRecordset As New ADODB.Recordset 'ADOレコードセット実行用     Dim StrSQL As String           'クエリ文挿入用     StrDBConect = ""     StrDBConect = StrDBConect & "Provider=SQLOLEDB;"     StrDBConect = StrDBConect & "Data Source=データベースサーバ名;"     StrDBConect = StrDBConect & "Initial Catalog=Northwind;"     StrDBConect = StrDBConect & "Persist Security Info=True;"     StrDBConect = StrDBConect & "User ID=SQL Server ログインユーザID;"     StrDBConect = StrDBConect & "Password=SQL Server ログインパスワード;"          'データベースに接続     AdoConnect.ConnectionString = StrDBConect     AdoConnect.Open()     'コマンドを実行する接続先を指定     AdoCommand.ActiveConnection = AdoConnect     'SQL文を作成する     StrSQL = ""     StrSQL = StrSQL & "SELECT FirstName FROM Employees;"          'パラメータを?マークで指定する     AdoCommand.CommandText = StrSQL     AdoRecordset = AdoCommand.Execute     Do Until AdoRecordset.EOF       msgbox(AdoRecordset("FirstName").Value)       AdoRecordset.MoveNext()     Loop     AdoRecordset.Close()     AdoConnect.Close()     AdoRecordset = Nothing     AdoCommand = Nothing     AdoConnect = Nothing ちなみに上記の方法でプログラミングを行う場合、 参照定義に「Microsoft ActiveX Data Objects 2.x Library」を追加する必要があります。 ※ 内容を見やすくするため、ソースの前には全角スペースを入れています。 複写される場合は半角スペースに置換してください。