• ベストアンサー

MDBからSQLSVに変更したい

VS.NET2005(ASP.NET),MSDE2000使用の、初心者です。 MDBへの接続から、SQLSVにしたいと思います。SQLSVに、 テーブルとComputerID\ASPNETのログインをつくり、sysadminと Database role membershipを与えていますが、 以下のcon.open() で「権限の指定が正しくありません」が 出てしまいます。どのようにすれば、接続できますでしょうか。 Dim con As New OleDbConnection(ConfigurationSettings.AppSettings(strConnectionString)) Dim cmd As New OleDbCommand(strQuery, con) con.Open() ' Return cmd.ExecuteReader(CommandBehavior.CloseConnection) End Function web.config <appSettings> <!-- <add key="conStringFaq" value="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=C:\webdb\faq.mdb"/> --> <add key="conStringFaq" value="PROVIDER=SQLOLEDB;Data Source=ComputerID\VSNET;Initial Catalog=VSNET"/>

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

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

お世話になります。 OleDbConnection でやられているのでしょうね。 余裕があるのであれば、 SqlClient.SqlConnection の方が パフォーマンスが向上しますので 変えられる事をオススメします。 認証についてですが、 Windwos 認証のままでやるのであれば、 ユーザーの偽装をしたらいかがでしょうか。 接続文字列はこちらを参照下さい。 http://www.connectionstrings.com/

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;306158
tomiyamax
質問者

お礼

naganaga_001さん。ご回答ありがとうございます。 おかげさまで接続できました。 初心者で、雑誌のソースコードを少し変えて勉強するのが 精一杯の状態ですが、ご指摘のことを少しずつ 学びたいとおもいます。ありがとうございました。

その他の回答 (1)

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.2

vs2005はデータセットデザイナでDBの接続や構成をおこないます。 VB.NEt 2005 のメニュー(ファイル/編集/・データ)のデータ・新しいデータ接続を実行します。データベースのアイコンをクリックします。ウイザードの指示に従うだけで接続のストリングが作成されます。 いちいちプログラムで記述しなくても共通変数としてアプリケーション に登録されます。登録場所はメニューバーのプロジェクト・プログラムのプロパティの設定の中に保存されています。 VB中からは my.Settings.ほにゃららDBConnectionString で参照できます。 変更する場合はこの設定タブのほにゃららDBConnectionString の[・・]のところをクリックすると接続の画面が表示されます。 これらの操作を行うにはあらかじめデータベースを作成しておく必要が あります。 MSDE2000にしたいとのことですが 現在のバージョンは SQL Server 2005 Express が無償でダウンロード できます。 6ヶ月間、無償で試験用に使える  「SQL Server 2005 Enterprise Edition 180 日間 限定評価版」 期間は無期限で使用できますがあくまで個人でのテストに限定した 「SQL Server 2005 Developere Edition」 市場価格で5000円 から6000円くらいです。機能も制約はありません。 SQL Server 2005 Enterprise Edition」と同じです。 簡単にMDBのデータベースをインポートするには上記のうち GUIツールが使える 「SQL Server 2005 Enterprise Edition 180 日間 限定評価版」 あるいは 「SQL Server 2005 Developere Edition」 で操作を行ったほうが簡単です。 「SQL Server Management Studio」でデータのインポートウイザード に従うだけでできます。 もし、ACCESS 2000 以降のバージョンをお持ちでしたら新規作成でプロジェクトを作成し、ACCESS のインポートのウイザードでできます。 どうしてもMSDE 2000 で操作する場合は OSQl コマンドでの操作となります。 いずれにせよSQLサーバーへの認証の設置が必要でWindows 認証またはSQL サーバーのログインアカウントを使ってログインするのかを選択します。 Windows 認証にした場合はSQL サーバーをインストールしたマシンのWindowsのアカウント登録がされていないとログインできません。この辺りを注意して設定してください。

tomiyamax
質問者

お礼

NOBNNNさん。回答ありがとうございます。 Windows認証と、SQL Server認証、それにASPNETユーザーなど いまいち正しく理解していませんが、Integrated Security=SSPI; を接続文字列に入れたら接続できるようになりました。 これはWindows認証と理解しています。 SQL Server 2005 Developer Editionは、昨日手にいれましたので 今後はこちらを使用していきたいと思います。 ありがとうございました。

関連するQ&A

専門家に質問してみよう