2016-12-27 10 views
0

私は新しいネットワークに新しくインストールしなければなりません。同じネットワークに接続されていて、アプリケーションはコンピュータで正常に動作しますが、 System.InvalidOperationException:接続が有効であり、開いている必要があります、サーバーがDBを持っていて、私はそのIPを使用してサーバーに接続できますが、他のコンピュータはありません。同じサブネットのデフォルトはipは192.168.1.130ですが、私のコンピュータで使用しているipは220.104.1.Xですが、それはうまく接続されますが、もう一方では何か間違っていますか?接続文字列は次のようになります。C#とMysqlが動作しません

myConnectionString = "Server=201.122.204.102; Port=3306; Database=basedatos; Uid=root; Pwd=root;"; 
+0

はエラーは何だと試みるが – Alejandro

答えて

0

私はあなたのエラーはポートです....私は私の接続文字列でポートを使用したときに私は何日も間違いがあることを覚えています。ポートを削除するとすぐに機能しました。どうやら、接続文字列はどちらのポートに行くかを多少分かっているようです。

myConnectionString = "Server = 201.122.204。102;データベース=基盤; Uid = root; PWD =ルート;?」

は、あなたが接続を開こうとすると

+0

が問題だったのですが、実際に接続がよりスムーズに実行されています – Zenoheld

+0

喜んで助けてくれました! –

0

クライアントアプリケーションがサーバーにpingできることを確認する必要があります。 cmdを使用し、ping 127.0.0.1を実行してください(IPをサーバーIPに置き換えてください)。 pingが成功すると、正しいポートuidとpwdを使用していることを前提として、接続文字列でIPが動作するはずです。 pingに失敗した場合は、クライアントがサーバーIPに接続できないことを意味します。これを解決するには、ネットワーク管理者と調整する必要があります。あなたが試みることができるのは、Server=MYSERVER; Port=3306; Database=basedatos; Uid=root; Pwd=root;のようなサーバIPの代わりにサーバ名を使用することです。サーバー名を使用すると、動的IPを持つサーバーに役立ちます。

UPDATE:

は、リモートアクセスがMySQLサーバで有効になっていることを確認してください。このtutorialおよび/またはgranting remote accessを参照してください。

また、あなたは、MySQLでこのクエリを実行することができます。複数のルートのユーザーが存在する場合

select user, host, password from mysql.user; 

を参照してください。すべてのアカウントに対応するパスワードが設定されていることを確認する必要があります。

ユーザ認証、特権、ファイアウォールなど、リモートからmysqlサーバに接続できないさまざまな理由が考えられます。

+0

IPが実際に静的であり、ええ、実際にだったが、私の最初の思考私のpingはこの – Zenoheld

+0

のようにIPが実際に静的であり、ええ、実際に私はこのping -A 220.104.1.Xのようにpingしていましたが、それは成功しました。何らかの理由で – Zenoheld

0

Remote Database Access Hostsの問題が原因である可能性があります。外部Webサーバーが、Webサイトのデータベースにアクセスできるホストのリストにドメイン名を追加することによって、MySQLデータベースにアクセスできるようにする必要があります。

デフォルトでは、すべてのIPはブロックされており、アクセスリストに追加してサーバーにアクセスする必要があります。そのため、別のコンピュータからMySQLに接続する前に、接続先のコンピュータをアクセスホストとして有効にする必要があります。

次の手順

  • のcPanelにログインして、ホストを追加することができます。
  • [データベース]で、[リモートMySQL]アイコンをクリックします。
  • [ホスト]フィールドに、接続するIPアドレスを入力します。
  • [ホストの追加]をクリックします。
関連する問題