DDBI gets MSSQL/Sybase support

kris fu at bar.org
Thu Jan 11 13:20:43 PST 2007


Brad Anderson wrote:
> http://www.dsource.org/projects/ddbi/wiki/FreeTDSSubproject
> http://www.dsource.org/projects/ddbi/changeset/44
> 
> example
> ---------
> 
> # import dbi.mssql.MssqlDatabase;
> # import dbi.Row;
> # import std.stdio;
> #
> # void main() {
> #
> #   MssqlDatabase db = new MssqlDatabase();
> #   db.connect("server 1433","username","password");
> #
> #   Row[] rows = db.queryFetchAll("USE dbname; SELECT * FROM test;");
> #
> #   foreach (Row row; rows) {
> #     writefln("%-10s %3s %-20s %7s %11s %11s ",
> #              row["testStr"],
> #              row["testInt"],
> #              row["anotherStr"],
> #              row["flt"],
> #              row["smmoney"],
> #              row["smdate"]);
> #   }
> #   db.close();
> #
> # }
> 
> changelog
> ---------
> # Preliminary FreeTDS support (MSSQL, Sybase)
> #
> #     * Only a few types have been tested
> #           o varchar, nvarchar
> #           o int
> #           o float
> #           o datetime, smalldatetime
> #           o money, smallmoney
> #     * As with all existing dbi's, this one only returns strings
> #           o so dates come at you like yyyy-mm-dd hh:nn:ss
> #           o there's a rounding error in money,smallmoney - can only get 2
> #             decimal places, should be able to get 4
> #     * No error messages are being presented to the user yet.
> #           o MssqlError.d needs to be coded
> #           o CS_SERVERMSG and src/ctlib/unittests/common.c look promising
> #             here
> #     * Bindings (thanks to bcd.gen) were for FreeTDS 0.64RC2, but should work
> #       across a wide range of versions
> #     * Within FreeTDS, the ctlib was used
> #
> # only tested on Linux - not Windows yet - give it a whirl and report back
> 
> Cheers,
> BA


Nice work, Brad ... Any possibility of getting more data-types than 
char[] exposed?



More information about the Digitalmars-d-announce mailing list