9

更新3:
@Timenによって提案された最初の問題に誰も答えなかったので、SQLSERVER認証を使用してみました。スルーを
有効にし、有効にして、その簡単なパスワードを設定しました(。\ sqlexpressの下)。とそのパスワードでデータベースに正常にログインできますが、アプリケーションからログインしようとすると、次のエラーメッセージが表示されて失敗します。SQL AuthenticationSQL SERVER MANAGEMENT STUDIOsasaSQL SERVER MANAGEMENT STUDIO

ログインで要求されたデータベース「dbNegin」を開くことができません。ログインに失敗しました。ユーザー「sa」のログインに失敗しました。

データベースの所有者もsaに変更したと言う必要がありますが、このエラーが発生します!! どうすればこれを解決できますか?:(ちなみに、これは私のアプリケーションでデータベースに接続するために使用される接続文字列です:

string sqlconstring = @ "DataSource=。\sqlexpress;User ID = sa; Password = 123456; Initial Catalog = dbNegin";

ちなみに私のデータベースは添付されています(以下のアドレスにあります)

D:\ TestDb \ Debug \ dbNegin.mdf

これはSQLエラーログです。

2013-02-25 21:51:20.80 spid51      Starting up database 'C:\USERS\FRIEND\DESKTOP\RELEASE\DBNEGIN.MDF'.
2013-02-25 21:51:21.33 spid51      Starting up database 'mytestdb'.
2013-02-25 21:51:21.60 spid51      Starting up database 'C:\USERS\FRIEND\DESKTOP\RELEASE\DBNEGIN.MDF'.
2013-02-25 21:51:35.60 Logon       Error: 18456, Severity: 14, State: 38.
2013-02-25 21:51:35.60 Logon       Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
2013-02-25 22:11:00.79 Server      Server resumed execution after being idle 246 seconds: user activity awakened the server. This is an informational message only. No user action is required.
2013-02-25 22:11:00.97 spid51      Attempting to load library 'xplog70.dll' into memory. This is an informational message only. No user action is required.
2013-02-25 22:11:01.04 spid51      Using 'xplog70.dll' version '2007.100.1600' to execute extended stored procedure 'xp_msver'. This is an informational message only; no user action is required.
2013-02-25 22:57:29.06 spid53      Starting up database 'C:\USERS\FRIEND\DESKTOP\RELEASE\DBNEGIN.MDF'.
2013-02-25 22:58:40.51 Logon       Error: 18456, Severity: 14, State: 38.
2013-02-25 22:58:40.51 Logon       Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
2013-02-25 23:07:09.86 Logon       Error: 18456, Severity: 14, State: 38.
2013-02-25 23:07:09.86 Logon       Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
2013-02-25 23:07:16.37 Logon       Error: 18456, Severity: 14, State: 38.
2013-02-25 23:07:16.37 Logon       Login failed for user 'sa'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]

古い質問 2つのモードでデータベースに接続しようとしています(私のシステムではデータベースはSQLSERVERデータサブフォルダーの下にありますが、顧客のシステムでは実行可能ファイルの隣に配置したいです。このために2つの接続文字列があります。私自身のシステムは:

"データソース=。\SQLExpress;初期カタログ=dbNegin;統合セキュリティ=True"

そして、顧客のマシン用に1つ:

"データソース=。\SQLExpress;AttachDbFilename = C:\ Users \ Master \ Documents \ Visual Studio 2010 \ Projects \ ProjectNegin \ ProjectNegin \ bin \ Debug \ dbNegin.mdf; Integrated Security = True; Connect Timeout = 30; User Instance =本当」

、問題は、システムで2番目のシナリオをテストしようとしたことです。実行可能ファイルの横に最新のデータベースを配置し、接続文字列を変更してアプリケーションを実行しようとしました。アプリケーションの一部のセクションでは、データベースに接続して情報を取得します。 、しかし、他のいくつかでは、このエラーで失敗します:

ログインで要求されたデータベース「dbNegin」を開くことができません。ログインに失敗しました。ユーザー「Master-PC\Master」のログインに失敗しました。

Master-PC\Master私のコンピューターの名前です!接続文字列で使用したことを覚えておらず、どこから来たのか、どうすれば削除できるのかわかりません。さらに悪いことに、以前の接続文字列もこのエラーで失敗します!!。
これを言う必要があるのは、2番目の接続文字列(実行可能ファイルの隣の文字列)を試す前に、SQLSERVER DATAサブフォルダー内のデータベースの名前を変更して、何も見逃さず、atatchfileメソッドを介してのみデータベースに接続できるようにすることです(デフォルトのデータベース接続文字列への接続の可能性を回避します)以前の接続文字列を使用しようとしたときに、データベースの名前を元の名前(DATAサブフォルダー内の名前)に戻しました。しかし、私はまだこのエラーが発生しています。どうすればこの問題を解決できますか?


UPDATESQL SEVER MANAGEMENT STUDIOデータベースを表示するために使用しようとすると、データベースは次のようになります。

(回復保留中...)

そして、私はそれについて何もできません(それはそれが修理されるか落とされなければならないと言っているので!そして私は修理メニューを見つけることができません!)

UPDATE 2: Management Studioからデータベースを削除して、再度アタッチしてみました。削除した後、ManagementStudioのデータベースリストから削除します。
今、私はそれを再び取り付けることができません私はエラーを受け取ります:

タイトル:Microsoft SQL Server Management Studio

このリクエストのデータを取得できませんでした。(Microsoft.SqlServer.Management.Sdk.Sfc)

ヘルプが必要な場合は、次をクリックしてください:http: //go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&LinkId=20476

- - - - - - - - - - - - - - - 追加情報:

Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。(Microsoft.SqlServer.ConnectionInfo)


物理ファイル'C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ Newフォルダーを開こうとしたときに、CREATE FILEでオペレーティングシステムエラー5(このエラーのテキストを取得できませんでした。理由:15105)が発生しました。 \dbNegin.mdf'。(Microsoft SQL Server、エラー:5123)

ヘルプが必要な場合は、次をクリックしてください:http: //go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=10.00.2531&EvtSrc=MSSQLServer&EvtID=5123&LinkId=20476

4

4 に答える 4

0

あなたとあなたの顧客の間でLAN接続を使用している場合は、この接続文字列を使用してください。

"Data Source=Master-PC\Master;;Initial Catalog=dbNegin;Integrated Security=True;Connect Timeout=30;User Instance=True"

また

"Data Source=Master-PC\Master\SQLExpress;Initial Catalog=dbNegin;Integrated Security=True;Connect Timeout=30;User Instance=True"

データソースには、PCのIPアドレスを使用することもできます。これはあなたを助けます。

于 2013-02-25T07:28:39.870 に答える
0

このトピックは私の質問に答えました:あなたはそこに良い情報を見つけることができます:
この問題の原因とそれを解決する方法
これはScreenShotのページです:

ここに画像の説明を入力してください

于 2013-02-26T07:29:53.973 に答える
-1

Windows認証の代わりに、SQLServer認証モードを試してください....これはuで機能する可能性があります。

于 2013-02-25T08:03:58.060 に答える
-1

接続文字列のみを変更してください!!

Nooo

  1. ツアー接続文字列を削除
  2. SQLサーバー認証用のパスワードを作成する
  3. 新しいフォームを作成する
  4. datagridviwerを追加する
  5. 作成したパスワードでdatagridviwerをデータベースに接続します

次に、app.config生成の新しい接続文字列とデータベース識別子をパスワードで確認します

接続文字列を変更した場合のみ機能しない

于 2017-12-02T00:08:21.767 に答える