- ベストアンサー
VBExpressからSQLサーバーへの接続エラー
- VBExpress2010を使用してSQL Server Compact Editionに接続しようとしましたが、接続エラーが発生しました。
- ボタンがクリックされたときにデータベースに接続するVBExpressのコードを作成しましたが、Cn.Open()の部分でエラーが発生しました。
- エラーメッセージによれば、sqlexceptionはハンドルされなかったため、接続ができませんでした。資格情報やパスワードは正しいですが、どのセッションがエラーを引き起こしているのかわかりません。アドバイスをお願いします。
- みんなの回答 (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」を追加する必要があります。 ※ 内容を見やすくするため、ソースの前には全角スペースを入れています。 複写される場合は半角スペースに置換してください。