[seasar-dotnet:204] S2DAO.NETとSQL2005 Expressとの接続

Minoru KINOSHITA necman @ 3noru.org
2006年 5月 20日 (土) 13:23:19 JST


はじめまして、木ノ下と申します。

Seasarカンファレンス2006に参加して
S2DAO.NETの完成度はかなり高いと伺いましたので
早速ためしてみました。

今、VisualStudio2005 Express と SQL Server Express上で
S2Container.NET 1.2.0-RC1 (.NET 2.0)、S2Dao.NET 0.4.1を利用
しております。

サンプルを動かそうとして

WebからExampleのドキュメントを読んで
Ex.diconのServerを以下のように変更しました
------------------------------
<!-- データソース -->
    <component name="SqlDataSource"
class="Seasar.Extension.Tx.Impl.TxDataSource">
      <property name="DataProvider">Ex.SqlClient</property>
      <property
name="ConnectionString">"Server=192.168.11.2\SQLEXPRESS;database=s2dotnetdemo;Integrated
Security=SSPI"</property>
    </component>
------------------------------
実行してみましたが、うまくSQLServer 2005 Expressに接続できません。

VS2005の出力には
------------------------------
'Seasar.Framework.Exceptions.SQLRuntimeException' の初回例外が Seasar.dll で発生しました。
'Seasar.Framework.Exceptions.InvocationTargetRuntimeException' の初回例外が
Seasar.dll で発生しました。
[ESSR0043]Seasar.Dao.Examples.AutoSelect.AutoSelectClientが呼び出した対象が不正です。理由はSystem.Data.SqlClient.SqlException:
サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005
に接続しているときときにこのエラーが発生した場合は、SQL Server
の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: 名前付きパイプ
プロバイダ, error: 40 - SQL Server への接続を開けませんでした)
   場所 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
exception, Boolean breakConnection)
   場所 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj)
   場所 System.Data.SqlClient.TdsParser.Connect(Boolean&
useFailoverPartner, Boolean& failoverDemandDone, String host, String
failoverPartner, String protocol, SqlInternalConnectionTds
connHandler, Int64 timerExpire, Boolean encrypt, Boolean
trustServerCert, Boolean integratedSecurity, SqlConnection
owningObject, Boolean aliasLookup)
   場所 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection
owningObject, SqlConnectionString connectionOptions, String
newPassword, Boolean redirectedUserInstance)
   場所 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity
identity, SqlConnectionString connectionOptions, Object providerInfo,
String newPassword, SqlConnection owningObject, Boolean
redirectedUserInstance)
   場所 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions
options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection owningConnection)
   場所 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection
owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   場所 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection
owningObject)
   場所 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection
owningObject)
   場所 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
owningObject)
   場所 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection)
   場所 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory)
   場所 System.Data.SqlClient.SqlConnection.Open()
   場所 Seasar.Framework.Util.DataSourceUtil.GetConnection(IDataSource dataSource)
スレッド 0x714 はコード 0 (0x0) で終了しました。
スレッド 0xc44 はコード 0 (0x0) で終了しました。
------------------------------
となっており、DBに接続できないのがエラーの原因と考えております。
アドバイスいただけないでしょうか。

なおコマンドプロンプトで
sqlcmd -S 192.168.11.2\SQLEXPRESS
では接続できるので、SQL Server 2005の設定には問題ないと考えております。

マシンの構成は以下です
+-------------------+                  +-------------------+
| 192.168.11.3 |                   | 192.168.11.2 |
| VS2005         |------------------| SQL Server   |
+-------------------+                  +-------------------+

初歩的なことでもうしわけないのですが、
よろしくお願いします。


seasar-dotnet メーリングリストの案内