我刚刚下载了SQL Anywhere的开发人员版.如何获取我连接到的数据库中的表列表?对于特定的表,如何获取该表的元数据(列名,类型等)?
我SELECT @@version使用PHP SQL Anywhere扩展来解决Sybase IQ数据库(版本显示Adaptive Server IQ/12.5.0/0306)的问题.
我不能选择所有行,即SELECT * from anytable 总是返回30行.
我发现的唯一解决方法是使用SELECT TOP 1000 * from anytable(最大值为32767),但在某些情况下我需要所有行.
任何帮助深表感谢.
编辑:示例脚本(很像文档)
$conn = sasql_connect("HOST=host:port;DBN=dbn;UID=uid;PWD=pwd");
if (!$conn) { echo "Connection failed."; die(); }
$result = sasql_query($conn, "SELECT * FROM dba.anytable" );
sasql_result_all($result); // display 30 rows in a formatted table
sasql_free_result($result);
sasql_disconnect($conn);
Run Code Online (Sandbox Code Playgroud)
编辑:两台机器的规格,我遇到了同样的问题:
开发机器:
生产服务器: …
目前我遇到的问题是,在服务中SAP Sybase SQL Anywhere随机抛出NullReference Exceptions,执行大量的SQL查询.始终在using块中创建连接并正确打开和关闭.没有很多并行连接,但一段时间后(随机)抛出以下异常:
异常:System.NullReferenceException:对象未设置为实例.bei iAnywhere.Data.SQLAnywhere.SAConnection.Dispose(布尔处理)bei iAnywhere.Data.SQLAnywhere.SAConnection.Close()bei iAnywhere.Data.SQLAnywhere.SAConnection.get_State()bei product.Framework.DAL.ConnectionManager.GetOpenPoolConnection [T ](String ModuleName,String Connection,Boolean resizePoolOnRimteOut,Int64 Time Out,Boolean isSecondTry)bei product.Framework.DAL.ORM.Sybase.SybaseStack.LoadDataFromDB [T](String where_part,String connectionStringName,Object [] sa_params)bei product. Framework.DAL.ORM.Sybase.SybaseStack.LoadData [T](String optWherePart,Object [] parameter)bei product.PlugIn.DocCenterClient.AS_Modules.DefaultInstanceDataExportModule.DoSingalProcessing()bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean preserveSyncCt x)bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean preserveSyncCtx)bei System.Threadi ng.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback callback,Object state)bei System.Threading.ThreadHelper.ThreadStart()
有人知道这种行为是由什么引起的吗?我们无法弄清楚任何规律性.
编辑
打开和关闭连接时抛出异常.
编辑
我们SAP SQL Anywhere 12用作数据库引擎/服务器和SAP SQL Anywhere 16客户端组件.
编辑
using (SAConnection connection = DAL.ConnectionManager.GetOpenPoolConnection<SAConnection>())
{
var …Run Code Online (Sandbox Code Playgroud) 我想在我的数据库中列出所有可用的表,并能够按行计数排序和过滤.
我不明白为什么,但不知何故这个查询不起作用.我想采用系统日期-1天,其中sysdate比当前日期小1天.
WHERE
a.SEND_Date >= dateadd(DD,-1,(CAST(getdate() as date) as datetime))
Run Code Online (Sandbox Code Playgroud) 我有一个SQL脚本,我想在运行时输出进度消息.让它在SQL语句之间输出消息很容易,但是我有一些很长时间运行的INSERT INTO SELECT.有没有办法让select语句输出消息,例如每1000行或每5秒后?
注意:这适用于SQL Anywhere,但任何SQL方言中的答案都可以.
是否有支持Sybase SQL Anywhere版本10的良好数据库模式比较工具?我已经看到了SQL Server的一小部分,一些用于MySQL和Oracle,但没有任何正确支持SQL Anywhere的东西.
我尝试使用DB Solo,但它将我所有的非唯一索引转换为唯一索引,我没有看到任何改变它的选项.
我的客户是牙科诊所,已经购买了一块练习管理软件.该软件安装在本地服务器上,包括患者数据库,时间表和各种医疗记录.现在,他们希望我为他们编写一些未提供其软件包的实用程序,为此,我需要能够查询此数据库.
我试着给软件制造商(Patterson/EagleSoft)寻求技术支持,很难找到任何理解这项技术的人来回答我的问题.据我所知,他们的软件没有API,可以理解他们不愿意告诉我如何直接以编程方式查询数据库.他们确实有一个交互式查询窗口,但显然这对编写自动查询没有好处.他们所能留下的只是某个地方有一个SQL Server数据库,但连接到它的ODBC驱动程序是SQL Anywhere驱动程序(嗯?).
所以我在服务器上搜索,找不到任何数据库文件.然后我发现安装会创建某种专有虚拟机,只有EagleSoft软件才能看到它.但是虽然他们非常擅长将数据库隔离在一堆混淆中,但他们还是打开了一个ODBC驱动程序,这确实是一个SQL Anywhere连接.
在那个引人入胜且冗长的序言之后,这是我的问题:我可以在此ODBC连接上运行哪些查询来询问DB的结构?如果它是下面的SQL Server DB,我可以使用sysobjects表,但我不完全掌握如何使用SQL Anywhere ODBC连接来连接到MSSQL DB.如果他们误导我并且它下面确实是一个SQL Anywhere数据库,那么为了获得数据库结构需要运行哪些查询?
如果那里有其他人成功实际查询EagleSoft(或任何类似的专有软件包) - 请告诉我你是如何做到的!
我试图使用SQL Anywhere 11从数据库中获取每个表的表大小.
我刚刚发现sp_spaceused已被弃用
任何有关这方面的帮助将不胜感激!:)
当我跑步时
$ python manage.py inspectdb --database=mssql_database
我有以下错误
django.db.utils.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1' : file not found (0) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)
但文件libmsodbcsql-17.9.so.1.1就在那里。
$ cat /etc/odbcinst.ini
[ODBC]
Trace=Yes
TraceFile=/tmp/odbc.log
[FreeTDS]
Description=TDS driver (Sybase/MS SQL)
Driver=libtdsodbc.so
Setup=libtdsS.so
CPTimeout=
CPReuse=
UsageCount=2
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1
UsageCount=1
$ odbcinst -j
unixODBC 2.3.7
odbcinst: symbol lookup error: odbcinst: undefined symbol: odbcinst_system_file_name
$ ldd /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1
linux-vdso.so.1 (0x00007fff545c4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9f85470000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 …Run Code Online (Sandbox Code Playgroud) sqlanywhere ×10
sql ×6
sybase ×3
odbc ×2
c# ×1
comparison ×1
database ×1
django ×1
php ×1
pyodbc ×1
sap-iq ×1
schema ×1
sql-server ×1
unixodbc ×1