From: schlenk on 18 Dec 2008 11:48 On Dec 18, 2:50 am, frsp...(a)hotmail.com wrote: > The old version of Tcl and Oratcl have been used in quite a lot of our > script-products for years .And we worry about raising other big > problems while updating Tcl and its tool libs. > > But you are right ,the latest version of Tcl and Oratcl would be > better,so we'd better update them gradually. If your lucky and compiled all your extensions with stubs support you may be able to use the old libs with a new Tcl 8.5 core without recompile, there are some changes, but in general its fairly stable. See the Changes pages on the Wiki. Michael
From: thelfter on 19 Dec 2008 23:29
On Dec 17, 8:50 pm, frsp...(a)hotmail.com wrote: > On 12ÔÂ17ÈÕ, ÏÂÎç12ʱ14·Ö, "thelf...(a)gmail.com" <thelf...(a)gmail.com> wrote: > > > On Dec 16, 5:28 am, frsp...(a)hotmail.com wrote: > > Hello Toto, > > > I've emailed you a patch to the oratcl.c file that may do what you > > want. I am curious why you would use such an old version of Tcl and > > Oratcl. I would recommend Tcl 8.5 and Oratcl 4.4. > > > Oratcl 4.4 is capable of connecting to Oracle 8i , 9i , 10g and 11g > > > -Todd- Òþ²Ø±»ÒýÓÃÎÄ×Ö - > > > - ÏÔʾÒýÓõÄÎÄ×Ö - > > Thanks Todd! > > I have recompiled Oratcl and it works! > > The old version of Tcl and Oratcl have been used in quite a lot of our > script-products for years .And we worry about raising other big > problems while updating Tcl and its tool libs. > > But you are right ,the latest version of Tcl and Oratcl would be > better,so we'd better update them gradually. > > Here is the patch,it may be useful to someone else : > [thelfter(a)dl320 generic]$ cvs diff -u oratcl.c > Index: oratcl.c > =================================================================== > RCS file: /cvsroot/oratcl/oratcl/generic/oratcl.c,v > retrieving revision 1.33.2.15 > diff -u -r1.33.2.15 oratcl.c > --- oratcl.c 3 Jul 2003 14:36:47 -0000 1.33.2.15 > +++ oratcl.c 16 Dec 2008 14:07:45 -0000 > @@ -2609,6 +2609,7 @@ > (OCISnapshot *) NULL, > oci_mode); > > +#if 0 > Oratcl_Checkerr(interp, LogPtr->errhp, rc, 0); > > if (rc == OCI_ERROR || rc == OCI_INVALID_HANDLE) { > @@ -2617,6 +2618,10 @@ > ": SQL execution failed.", > (Tcl_Obj *) NULL, > (char *) NULL); > +#endif > + > + Oratcl_Checkerr(interp, LogPtr->errhp, rc, 1); > + if (rc == OCI_ERROR || rc == OCI_INVALID_HANDLE) { > Oratcl_ColFree(StmPtr->col_list); > StmPtr->col_list = NULL; > Oratcl_ColFree(StmPtr->bind_list); > > -Toto Glad it is all working for you. I'm currently working on an Oratcl e- book that includes a chapter on conversion of Oratcl 3 programs to Oratcl 4. I'll email you a beta copy soon. FYI, I'm 99% certain that there is no way that Oratcl 3.3 will compile with Tcl 8.5, when you get ready to begin conversion, let me know and I'll provide guidance. -Todd -Todd |