2012-01-27 12 views
2

私のコードはまだ開発中ですので、実行するとローカルコンピュータにありますが、使用しているデータベースはEC2。私はデータベースに接続する際に問題があります。私はサーバ名が何であるべきか不明です。誰でもEC2上のSQLサーバーに接続する方法、またはApp.configファイルで接続文字列を構成する方法を知っていますか。あなたはそれが公共のDNS名です使用する必要がありますEC2からDBにアクセスするためにローカルコンピュータからEC2 SQL Server 2008 R2に接続するApp.configファイルの接続文字列

<connectionStrings> 
<add name ="ConnectionString" 
    connectionString="server=000.000.000.000\EC2SQLEXPRESS;UID=UserID;PWD=xxxxxxxxxx;database=DBName"/> 

答えて

3

。これはインスタンスの詳細ページで見つけることができます。

インスタンスを停止して再起動すると、パブリックDNS名が変更されることに注意してください。だから本当にElastic IPを使用し、それをあなたのインスタンスに関連させ、弾性IPを指す通常のパブリックDNS名を持つべきです。インスタンスを停止する必要がある場合は、この方法で構成情報を変更する必要はありません。

また、データベースサーバーのセキュリティグループに、必要なポートが開いていることを確認する必要があります。 SQL Serverの標準ポートはFYI 1433


ある - データベースサーバーは、インターネット上で直接アクセスできるようにすることが一般的に悪い習慣と考えられています。代わりに、あなたと必要な機能だけを公開するデータベースの間に、少なくとも1つのWebサービス層が必要です。

しかし、それが実現できない場合は、SQLサーバーを別のポートに移動して、セキュリティグループの設定でそのポートを公開する必要があります。これは実際にセキュリティを向上させるものではありませんが、ほとんどのスクリプト攻撃は1433のような標準のSQLサーバーポートを対象にしています。したがって、攻撃の数を減らすのに役立ちます。

+0

@CalvinBlount:あなたのサーバーアドレスにドットがありませんでしたか?ところで、そのコメントを削除します。ここにいる人の一部はあなたの友人ではない...;) – NotMe

+0

ありがとう、削除、ありがとう。とにかくサーバーのアドレスは駄目でしたが、私はあなたに私が持っているものの考えを与えるためにそこに何かを入れました。私は考えることができるすべての設定を行った、私は何かを欠落している必要があります。これはクラスプロジェクトのためのもので、簡単に相互理解可能なWebサービスです。このサービスは、DBにアクセスして、クライアントに公開された場合の乗客、予約、フライト情報を取得します。私の資格情報は良いです。なぜなら、コンピュータ名を使用しているインスタンスでDBにログオンすることができるからです。しかし、リモートから接続する際に問題が発生していると思います。 – CalvinBlount

+0

@CalvinBlount:Management Studioのコピーを取得してローカルにインストールします。そのように接続してみてください。私はあなたのSQLサーバーの設定がTCP/IP接続を許可するように構成されていないと思います。 – NotMe

関連する問題