id = "freetds" name = "FreeTDS" homepage = "https://www.freetds.org" description = "FreeTDS is a free implementation of Sybase's DB-Library, CT-Library, and ODBC libraries." executables = ["tsql", "freebcp"] [dotfiles] # https://www.freetds.org/userguide/freetdsconf.htm documents ~/.freetds.conf # and ~/.config/freetds.conf on Unix. The official source's src/tds/config.c # uses the same home-file lookup for Windows; the explicit %APPDATA% spelling # covers that platform. The legacy interfaces file is also a documented # per-user fallback in freetds.conf(5), so it is listed alongside the newer # configuration file. paths = [ "~/.freetds.conf", "[configHome]/freetds.conf", "%APPDATA%/.freetds.conf", "~/.interfaces", "%APPDATA%/.interfaces", ] secret = [] side_effect = false [commands] format = 1 label = "Connect with tsql" description = "Open an interactive tsql session to a SQL Server or Sybase server, by configured server name or by host and port. The password is not asked for here; tsql prompts for it." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "manual" kind = "manual" url = "https://man.archlinux.org/man/tsql.1" revision = "tsql(1), FreeTDS 1.5.20" evidence = """ -S servername database server to which to connect. -D dbname database to use. -I interface freetds.conf or interfaces file describing servername. -H hostname DNS hostname of the server. -p port port at which SQL Server is listening. -U username database login name. If username is not provided, a domain login is attempted for TDS 7+ connections. -L list Microsoft server instances (with -H). -C print some of the compile-time configuration parameters. """ [[commands.field]] id = "server" label = "Server name" description = "A server defined in freetds.conf. Use this or Host." type = "string" option = ["-S"] sources = ["manual"] [[commands.field]] id = "host" label = "Host name" description = "Connect directly by DNS name, bypassing freetds.conf. Use this or Server." type = "string" option = ["-H"] sources = ["manual"] [[commands.field]] id = "port" label = "Port" type = "integer" option = ["-p"] min = 1 max = 65535 sources = ["manual"] [[commands.field]] id = "user" label = "User name" type = "string" option = ["-U"] sources = ["manual"] [[commands.field]] id = "database" label = "Database" type = "string" option = ["-D"] sources = ["manual"] [[commands.field]] id = "interface" label = "Interfaces / freetds.conf file" type = "path" option = ["-I"] path = { kind = "file", role = "input" } sources = ["manual"] [[commands.field]] id = "list_instances" label = "List server instances" description = "Used with Host." type = "boolean" option = ["-L"] sources = ["manual"] [[commands.task]] id = "by_server" label = "Connect to a configured server" fields = ["server", "user", "database"] required = ["server"] [[commands.task]] id = "by_host" label = "Connect by host and port" fields = ["host", "port", "user", "database"] required = ["host", "port"] [[commands.group]] id = "basic" label = "Basic" fields = ["server", "host", "port", "user", "database"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["interface", "list_instances"]