2012-01-27 20 views
0
私はC#で私のWebサービスで、いくつかのSQLコードの実行をしたい

ADO.NET:オープンSQL接続

コードは、今私が得るだけ

[WebMethod] 
    public void GetCustomers() 
    { 
     SqlConnection MyConn = new SqlConnection("Data Source=./SQLEXPRESS;AttachDbFilename=C:/Documents and Settings/Administrator/My Documents/Visual Studio 2008/Projects/WebService2/WebService2/App_Data/Database1.mdf;Integrated Security=True;User Instance=True"); 

     MyConn.Open(); 

     SqlCommand cmd = new SqlCommand(); 

     cmd.Connection = MyConn; 

     cmd.CommandText = "delete from t1 where name='1'"; //just see ["+month 
     // [mon+"] it's imp 

     cmd.ExecuteNonQuery(); 
    } 

ある

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

答えて

0

正しい形式:
Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
試してみてください。詳細については

"Data Source=./SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WebService2\WebService2\App_Data\Database1.mdf; Database=YourDatabasName;Integrated Security=True;User Instance=True"
は、以下を参照してください。
http://connectionstrings.com/

+0

でも同じ結果が得られますが、attachdbfilenameの提案では、私たちはデータベースの全パスを書き込むことを頼んでいます。データベース=我々はデータベース名のみを書きました。本当ですか?私はWebサービスを初めて利用しています。 –

+0

はい。私はそれをチェックします。接続文字列の詳細については、 'AttachDbFilename = C:/'の代わりにlink.use 'AttachDbFilename = C:/'を参照してください。 –

+0

あなたをもう一度破棄して申し訳ありませんが、どうしたらいいですか.. .......助けてください –

0

SQL Serverの設定も確認したい場合があります。

エラーが発生しました名前付きパイプがアクティブでない、これは既定の設定です。

いつでもこの修正をテストすることができます。 xxxxは使用しているSQL Serverのバージョンである

Start -> SQL Server xxxx -> Configuration Tools -> SQL Server Configuration Manager

-> SQL Native Client xx Configuration -> Client Protocols

名前付きパイプでツリーを見に

が表示されます。

であることに設定し、それはあなたのSQL Serverデータベースのインスタンス名の名前なので

SQL Server Network Configuration -> Protocols for xxxxxx

xxxxxxの下に続いて

を可能にしました。

名前付きパイプがであることを確認してください。もあります。

名前付きパイプコールを受け入れるには、SQL Serverデータベースを再起動する必要があります。

お試しください。

+0

その同じエラー何をすべきか –

関連する問題