我可以访问命令行isql,我喜欢获取给定数据库的所有表的元数据,可能是格式化文件.我怎么能做到这一点?
谢谢.
我正在尝试使用FreeTDS和unixODBC从Ubuntu 12.04网络服务器连接到MSSQL服务器.
使用tsql我可以连接到服务器
~$ tsql -S dbs3 -U <username> -P <password>
Run Code Online (Sandbox Code Playgroud)
没问题.
当我尝试连接isql时,我收到以下错误消息:
~$ isql -v database3 <username> <password>
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect
Run Code Online (Sandbox Code Playgroud)
我的配置文件如下:
ODBC.INI
[database3]
Driver=FreeTDS
TDS_Version=8.0
Servername=dbs3
Port=1433
Database=benchmark_res
Run Code Online (Sandbox Code Playgroud)
ODBCINST.INI
[FreeTDS]
Description=FreeTDS v0.91
Driver=/usr/local/lib/libtdsodbc.so
Setup=/usr/local/lib/libtdsS.so
Trace=Yes
TraceFile=/tmp/freetds.log
ForceTrave=Yes
UsageCount=1
Run Code Online (Sandbox Code Playgroud)
freetds.conf
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about …Run Code Online (Sandbox Code Playgroud) Informix iSQL有一个info tables;显示所有表的命令" ".
查看字段及其各自数据类型的语法是" info columns for table;"
是否有类似的命令显示所有表和所有字段的table.field?
我正在创建一个简单的isql脚本,但它不起作用,我需要一些帮助来找出它的错误.
我需要连接到数据库并执行SQL文件.这是我的脚本,名为script.sql:
CONNECT 'localhost:C:\Monde\Servidor\db\monde.fdb' USER 'SYSDBA' PASSWORD 'masterkey';
update usuario
set senha = 'MYkWEn0kHLHHdm'
where login = 'rose'
Run Code Online (Sandbox Code Playgroud)
当我尝试连接到我的数据库使用:
isql.exe -i script.sql
Run Code Online (Sandbox Code Playgroud)
我得到以下消息:
Use CONNECT or CREATE DATABASE to specify a database
Expected end of statement, encountered EOF
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个本地firebird实例进行测试,但即使是ISQL也无法连接到它.我试图通过遵循快速入门指南以下位置:
CONNECT ..\examples\empbuild\employee.fdb user SYSDBA password masterkey;
Run Code Online (Sandbox Code Playgroud)
结果导致:
Statement failed, SQLSTATE = 08001
unavailable database
Run Code Online (Sandbox Code Playgroud)
经过一番搜索,我尝试将其修改为:
CONNECT "localhost:C:\Program Files\Firebird\Firebird_2_5\examples\empbuild\employee.fdb" user SYSDBA password masterkey;
Run Code Online (Sandbox Code Playgroud)
结果导致:
Statement failed, SQLSTATE = 28000
cannot attach to password database
Run Code Online (Sandbox Code Playgroud)
在确认我有正确的目录路径后,我决定立即联系并尝试创建一个新的DB:
SQL>CREATE DATABASE 'C:\data\test.fdb' page_size 8192
CON>user 'SYSDBA' password 'masterkey';
Run Code Online (Sandbox Code Playgroud)
这也给了我错误:
Statement failed, SQLSTATE = 08001
unavailable database
Run Code Online (Sandbox Code Playgroud)
我可能会遇到任何常见的陷阱吗?我也尝试过上面的命令,无论是否运行firebird服务.还有关于SQLSTATE代码的详细参考吗?
我正在尝试使用iSQL客户端查询Sybase ASA 8数据库,并将查询结果导出为CSV格式的文本文件.但是列标题不会导出到文件中.在iSQL设置和OUTPUT语句中都没有特殊选项来指定它.
查询和输出语句如下所示:
SELECT * FROM SomeTable;
OUTPUT TO 'C:\temp\sometable.csv' FORMAT ASCII DELIMITED BY ';' QUOTE ''
Run Code Online (Sandbox Code Playgroud)
结果就像是一个文件
1;Miller;Steve;1980-06-28
2;Jones;Martha;1965-11-02
3;Waters;Richard;1979-10-15
Run Code Online (Sandbox Code Playgroud)
虽然我想拥有
ID;LASTNAME;FIRSTNAME;DOB
1;Miller;Steve;1980-06-28
2;Jones;Martha;1965-11-02
3;Waters;Richard;1979-10-15
Run Code Online (Sandbox Code Playgroud)
任何提示?
我正在尝试连接到我的主机上的数据库(windows xp,sql server 05).我的客户机是Ubuntu 10.04.我可以使用tsql连接和执行命令,但是isql失败.以下是我的配置文件和错误消息.
freetds.conf
text size = 64512
[SQLEXPRESS]
host = 192.168.163.1
port = 1433
tds version = 7.0
Run Code Online (Sandbox Code Playgroud)
ODBCINST.INI
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
Run Code Online (Sandbox Code Playgroud)
ODBC.INI
[SQLEXPRESS]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = 192.168.163.1
Database = SCOPE_Peel
Port = 1433
UID = sa
PWD = test1234
ReadOnly = No
Run Code Online (Sandbox Code Playgroud)
TSQL:
tsql -S SQLEXPRESS -U sa …Run Code Online (Sandbox Code Playgroud) 我想在我的C#客户端应用程序中创建一个新的Firebird数据库.是否有命令行实用程序可以执行此操作?
我需要制定一个查询来执行以下操作:1) 在同一台服务器上加入两个 (informix) SQL 表(已经完成/工作) 2)在同一台服务器上加入第三个 SQL 表,但在不同的数据库中。
对于我的示例代码,让我们在 databaseA 上使用 tableA 和 tableB,在 databaseB 上使用 tableC。
连接同一个数据库上的两个表是没有问题的。
SELECT tableA.columnA
tableB.columnA
FROM
tableA
JOIN
tableB
ON
tableB.columnSHARED = tableA.columnSHARED
WHERE
([where clauses are inconsequential for this])
Run Code Online (Sandbox Code Playgroud)
现在,我似乎无法工作的是 databaseB 上 tableC 的第二个 JOIN 子句。我尝试使用数据库名称前缀为所有表/列引用添加前缀,但这似乎不起作用。
澄清一下,两个数据库都在同一台服务器上,运行这些命令的用户可以访问这两个数据库。我会提供一条错误消息,但除了在字符位置 Y(第三个连接子句)附近的行 X 上存在错误这一事实之外,从 Informix 返回并没有任何有用的信息。还有一个通用链接:
databaseB.tableC.columnSHARED
Run Code Online (Sandbox Code Playgroud)
将如何/我可以加入databaseB.tableC到databaseA.tableA和databaseA.tableB?
编辑 2:响应者的新清理查询:
SELECT FIRST 100
tableA.sharedColumn,
tableA.colA,
tableA.colB,
tableA.colC,
tableA.colD,
tableA.colE,
tableA.colF,
tableA.colG,
tableB.colA ,
databaseB:tableC.column
FROM
tableA
JOIN
tableB
ON
tableB.sharedColumn = …Run Code Online (Sandbox Code Playgroud) isql ×10
sql ×4
firebird ×3
freetds ×2
informix ×2
sql-server ×2
command-line ×1
database ×1
field ×1
firebird2.5 ×1
indexing ×1
interbase ×1
join ×1
linux ×1
metadata ×1
odbc ×1
ruby ×1
sybase ×1
sybase-asa ×1
sybase-ase ×1
ubuntu-12.04 ×1