los*_*wpf 3 c# database nhibernate ibm-midrange
我完全没有AS400 DB2的经验,所以请原谅任何明显的错误,因为我正在学习.我有2盒,我可以连接到运行V5R3或V4R3. 我正在使用NHibernate 3.但是,当我尝试连接时,我不断得到以下异常: -
ERROR [08001] [IBM] SQL30081N A communication error has been detected.
Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS".
Location where the error was detected: "192.168.1.11". Communication function detecting the error: "connect". Protocol specific error code(s): "10061", "*", "*". SQLSTATE=08001
Run Code Online (Sandbox Code Playgroud)
下面是我的NHibernate配置文件: -
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.DB2400Dialect</property>
<property name="connection.driver_class">NHibernate.Driver.DB2Driver</property>
<property name="connection.connection_string">Server=192.168.1.11;Database=TESTDB;UID=XXX;PWD=XXX; </property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="command_timeout">15000</property>
<property name="current_session_context_class">thread_static</property>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
我不确定这是不是因为AS400的版本太早了?我的nhibernate配置不正确?或者我在AS400上设置了错误的东西.
任何建议都将非常感激.
提前谢谢了
IBM i上有两种类型的数据库连接 - DRDA和DDM. DRDA用于本机连接(DB2.Net.iSeries),DDM用于DB/2 LUW(DB2.Net,DB/2 Connect)连接.
验证运行的数据库主机服务器:
WRKACTJOB SBS(QSERVER) JOB(QZDASRVSD)
Run Code Online (Sandbox Code Playgroud)
检查端口状态:
NETSTAT OPTION(*CNN)
,点击F2并验证端口449,8470,8471和8476处于状态Listen.
使用以下命令启动数据库主机服务器:
STRHOSTSVR SERVER(*DATABASE)
Run Code Online (Sandbox Code Playgroud)
验证ddm tcp服务器是否正在运行:
WRKACTJOB SBS(QSYSWRK) JOB(QRWTLSTN)
Run Code Online (Sandbox Code Playgroud)
检查端口状态:
NETSTAT*CNN,命中F2并验证端口446处于侦听状态.
使用以下命令启动ddm tcp服务器:
STRTCPSVR SERVER(*DDM)
Run Code Online (Sandbox Code Playgroud)
在连接字符串中包含ddm端口号:
Server=192.168.1.11:446;Database=TESTDB;UID=XXX;PWD=XXX;
Run Code Online (Sandbox Code Playgroud)
这本IBM红皮书应该提供更多信息:
将DB2 Universal Database for iSeries与Microsoft ADO .NET集成