1

Visual Basic で SQLEXPRESS を使用してローカル データベースを作成しました。

LINQ を使用して、アプリケーションからデータベースに接続するつもりです。最初にデータベースに接続するための私のステートメントは次のとおりです。

Dim db As New DataContext("Data Source=localhost\SQLEXPRESS; Initial Catalog=master; Integrated Security=True;")

データベースが初期カタログに入力されるのが理想的ですが、何らかの理由で認証エラーが発生しました。このステートメントが実行されたので、次のステップは特定のデータベースに接続することです。ただし、次のようなステートメントに接続しようとすると:

Dim TestCommand = db.ExecuteCommand("Use MyDB.mdf")

データベースが存在しないというエラーが表示されます。

次のコマンドでデータベースにクエリを実行すると:

SELECT name FROM master.sys.databases

返される値は、master、tempdb、model、msdb、および C:USERS\MY NAME\DOCUMENTS\MyDB.mdf です。

上記の「TestCommand」でデータベースのディレクトリを書き出してみましたが、「C:」でエラーが発生します。

だから、私のデータベースは存在しますが、誰かが私のデータベースを「使用」するために使用すべき構文を説明してもらえますか?

4

1 に答える 1

1

useコマンドをこのように使用しないでください。アプリケーションのデータベースを初期カタログとして設定して、アプリケーションのデータベースに直接接続する必要があります。useちなみに、権限がない場合は、コマンドを実行しても許可されません。したがって、データベースの承認を修正する必要があります。Sql Server Management Studio で Windows アカウントのログインを作成し、アプリケーションのデータベースへの読み取り/書き込みアクセスを許可します。

于 2012-09-15T15:10:31.197 に答える