Mssqlデータベースを使用してASP.NETMVC4でWebサイトを構築し、ローカルIIS 7サーバーに展開しました。正常に動作しますが、仮想サーバーhostgatorでまったく同じことを行うと.comそれは私にこのエラーを投げます。
そして、1000の接続文字列を試しましたが、それでも成功しませんでした。
ローカルマシンとまったく同じ手順を実行したのに、サーバーに接続できないため、奇妙です。
私はこの問題に24時間取り組んでいますが、この問題の解決策を見つけることができません。
テクニカルサポートに連絡しましたが、サポート範囲外であり、これについてはサポートできないとのことでした。
ローカルマシンで同じエラーが発生したため、このエラーが消えるようにすべてを実行しましたが、適切に構成すると、仮想サーバーではそれほど機能しませんでした。
SQL Serverへの接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。 (プロバイダー:SQLネットワークインターフェイス、エラー:26-指定されたサーバー/インスタンスの検索エラー)
つまり、基本的に問題はweb.config内の接続文字列ではなく、エンティティフレームワークの問題でした。
ローカルホストでプロジェクトの開発を開始し、hostgator.comにサイトをデプロイし終えると、entityframeworkがすべての接続文字列を制御するため、web.configで何も変更しても意味がありませんでした。
解決策が見つかったアドレスは次のとおりです。 http://msdn.Microsoft.com/en-us/library/bb739017.aspx
解決策は次のとおりです:
namespace Finance.Models
{
// This constructor is the solution
public class FinanceDataContext : DbContext
{
public FinanceDataContext()
{
this.Database.Connection.ConnectionString = "Data Source=servername;Initial Catalog=databasename;User ID=sql_username;Password=**********";
}
public DbSet<Administrator> Administrators { get; set; }
public DbSet<News> News { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Plan> Plans { get; set; }
public DbSet<Withdraw> Withdraws { get; set; }
}
}
これに関する情報はありませんでした。運が良ければ、エンティティフレームワークでエラーが発生し、30分後に、エンティティフレームワークがデータベースへの接続を制御していることがわかりました。
私は誰かが同じ問題を抱えていると100%確信しているので、この質問を編集して誰にでも見られるようにできれば。