2009-09-17 20 views
1

私はsqlconnectionの問題があります。私はsqldatasourceを使用しているときにSQL Serverと完全に接続しています。 でも、SqlConnectionオブジェクトを使用しようとすると例外がスローされます。Sql接続の問題

string qstring = "Data Source=****;Initial Catalog=**;User ID=**;Password=**"; 
    SqlConnection con = new SqlConnection(qstring); 
    con.Open(); (exception thrown here) 

例外:SQL Serverへの接続を確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認します。 (プロバイダー:名前付きパイププロバイダー、エラー:40 - SQL Serverへの接続を開くことができませんでした)

Sqlサーバーは別のマシンにあり、SqlDataSourceオブジェクトを使用して接続できます。しかし、私は、あなたが示されているコードは、あなたが持っているものであれば

Thxをあなたの助けのために...

答えて

0

...私はSqlDataSourceコントロールからそれを持っているので

接続文字列が真であるSqlConnectionオブジェクトを接続する必要があります私はあなたが接続できないことに驚くことはありません。

qstringに正しいデータソース、ユーザーIDとパスワードが必要です。それはアスタリスク文字が意味するものではありません。

新しいポイント SQLConnectionは、Microsoft SQL Serverでのみ機能することが多く、忘れられがちです。 SQLが別の製造元から提供されている場合は、代わりにOleDBConnectionを使用してください。

+0

OPが実際の値をプレースホルダに置き換えたと思います... –

+0

私は、しかし、あなたは決して確かではありません。過去にアスタミックスでいっぱいのパスワードフィールドをコピーして貼り付けることができると思っていた人が出てきました。 – ChrisBD

+0

@ChrisBD:これはDilbertのコミック版の人のように聞こえます:-) –

3

リモート接続を受け入れるようにSQL Serverが設定されていることを確認することもできます。 (sql2005構成ツール - > Surface AreaConfiguration->サービスと接続 - >データベース、ローカルおよびリモート接続)

+0

と "named pipes"プロトコルが有効でサポートされています! –

0

SQLサーバーは同じマシンにありますか?はいの場合は、SQLサーバーサービスが実行されているかどうかを確認します。異なるマシンにある場合は、開発マシンが接続されていることを確認します。また、表面領域の接続ウィザードをチェックして、SQLサーバがリモート接続をサポートしているかどうかを確認することもできます。