DDBI gets MSSQL/Sybase support

Brad Anderson brad at dsource.org
Tue Jan 9 18:55:17 PST 2007


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



More information about the Digitalmars-d-announce mailing list