与火鸟的ADODB连接

时间:2015-11-15 23:40:41

标签: adodb testcomplete firebird2.5

如何使用ADODB连接连接到firebird数据库? 我使用testcomplete来测试在firebird上运行的应用程序。 以下没有工作......

Conn = new ActiveXObject("ADODB.Connection");
constr = 'User=SYSDBA;Password=masterkey;Database=C:\..\Sample.fdb;DataSource=Local;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;'

Conn.ConnectionString = constr;
qrery = 'Select Count(*) FROM XX ';

recSet = new ActiveXObject("ADODB.Recordset");
recSet.Open(qrery,Conn,3 /* adOpenStatic */, 1 /* adLockReadOnly */,1);

Log.Message(recSet.Fields.Item(0).Value  );

recSet.Close();

获取以下错误

  

连接不能用于执行此操作。在此上下文中它已关闭或无效

1 个答案:

答案 0 :(得分:0)

您需要在创建连接后和进行查询之前打开连接:

  var Conn = new ActiveXObject("ADODB.Connection");
  var constr = 'User=SYSDBA;Password=masterkey;Database=C:\\..\\Sample.fdb;DataSource=Local;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;'

  Conn.ConnectionString = constr;
  var qrery = 'Select Count(*) FROM XX ';

  Conn.Open(); // Openning the connection

  var recSet = new ActiveXObject("ADODB.Recordset");
  recSet.Open(qrery,Conn,3 /* adOpenStatic */, 1 /* adLockReadOnly */,1);

  Log.Message(recSet.Fields.Item(0).Value  );

  recSet.Close();