意思就是说你在修改tds_dserp的时候,别人已经修改提交过,你需要刷新一下重新修改。
不过你在改的时候得看一下你的外键FK_svcb10d2cb10d2这个,你的表有外键关系,你得保持一致才行,不然是不让你修改的
② Sql server 一个数据库最多能有多少表
最大容量说明
第一个表说明对于所有 Microsoft® SQL Server™ 2000 版本都相同的最大容量。第二个和第三个表说明因 SQL Server 2000 的版本和操作系统的不同而异的容量。
下表说明在 Microsoft SQL Server 数据库中定义的,或在 Transact-SQL 语句中引用的各种对象的最大值(数量或大小)。下表不包含 Microsoft SQL Server 2000 Windows® CE 版。
最大值(数量或大小)
对象 SQL Server 7.0 SQL Server 2000
批处理大小 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1
每个排序字符串行的字节数 8,000 8,000
每个 text、ntext、或 image 列的字节数 2 GB-2 2 GB-2
每个 GROUP BY、ORDER BY的字节数 8,060 8,060
每个索引中的字节数 900 9002
每个外键的字节数 900 900
每个主键的字节数 900 900
每行字节数 8,060 8,060
存储过程源文本中的字节数 批处理大小之较小者或者 250 MB 批处理大小之较小者或者 250 MB
每个数据表的聚集索引数 1 1
GROUP BY、ORDER BY 中的列数 只受每个 GROUP BY、ORDER BY 子句的字节数限制 只受每个 GROUP BY、ORDER BY 子句的字节数限制
GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目 10
每个索引的列数 16 16
每个外键的列数 16 16
每个主键的列数 16 16
每个基础数据表的列数 1,024 1,024
每个SELECT 语句的列数 4,096 4,096
每个INSERT 语句的列数 1,024 1,024
每个客户端的连接个数 已配置连接的最大值 已配置连接的最大值
数据库大小 1,048,516 TB3 1,048,516 TB3
每个 SQL Server 实例的数据库个数 32,767 32,767
每个数据库的文件组个数 256 256
每个数据库的文件个数 32,767 32,767
文件大小(数据) 32 TB 32 TB
文件大小(日志) 4 TB 32 TB
每个数据表的外键表引用 253 253
标识符长度(以字符计) 128 128
每台计算机的实例数 暂缺 16
包含 SQL 语句的字符串长度(批处理大小) 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1
每个连接的锁数 每个服务器的最大锁数 每个服务器的最大锁数
每个 SQL Server 实例的锁数 2,147,483,647(静态)
SQL Server 40% 的内存(动态) 2,147,483,647(静态)
SQL Server 40% 的内存(动态)
嵌套存储过程层数 32 32
嵌套子查询 32 32
嵌套触发器层数 32 32
每个数据表的非聚集索引个数 249 249
SQL Server 实例中同时打开的对象个数4 2,147,483,647(或可用内存) 2,147,483,647(或可用内存)
每个数据库中的对象个数 2,147,483,6474 2,147,483,6474
每个存储过程的参数个数 1,024 2,100
每个数据表的 REFERENCE 个数 253 253
每个数据表的行数 受可用存储资源限制 受可用存储资源限制
每个数据库的数据表个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4
每个 SELECT 语句的数据表个数 256 256
每个数据表的触发器个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4
每个数据表的 UNIQUE 索引个数或约束个数 249个非聚集索引和 1 个聚集索引 249个非聚集索引和 1 个聚集索引
1 网络数据包大小是表格格式数据方案 (TDS) 数据包的大小,该数据包用于应用程序和关系数据库引擎之间的通讯。默认的数据包大小为 4 KB,由 network packet size 配置选项控制。
2 在 SQL Server 2000 中,任何键的最大字节数不能超过 900。可以使用可变长度的列来定义键,只要在这种列中不插入数据超过 900 字节的行,其最大大小就可以在 900 以上。有关更多信息,请参见索引键的最大值。
3 当使用 SQL Server 2000 Desktop Engine 或 Microsoft 数据引擎 (MSDE) 1.0 时,数据库的大小不能超过 2 GB。
4数据库对象包括所有的表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束。一个数据库中所有对象的总数不得超过 2,147,483,647。
第一个表说明对于所有 Microsoft® SQL Server™ 2000 版本都相同的最大容量。第二个和第三个表说明因 SQL Server 2000 的版本和操作系统的不同而异的容量。
下表说明在 Microsoft SQL Server 数据库中定义的,或在 Transact-SQL 语句中引用的各种对象的最大值(数量或大小)。下表不包含 Microsoft® SQL Server 2000™ Windows® CE 版。
最大值(数量或大小)
对象 SQL Server 7.0 SQL Server 2000
批处理大小 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1
每个短字符串行的字节数 8,000 8,000
每个 text、ntext、或 image 列的字节数 2 GB-2 2 GB-2
每个 GROUP BY、ORDER BY的字节数 8,060
每个索引中的字节数 900 9002
每个外键的字节数 900 900
每个主键的字节数 900 900
每行字节数 8,060 8,060
存储过程源文本中的字节数 批处理大小之较小者或者 250 MB 批处理大小之较小者或者 250 MB
每个数据表的聚集索引数 1 1
GROUP BY、ORDER BY 中的列数 只受字节数限制
GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目 10
每个索引的列数 16 16
每个外键的列数 16 16
每个主键的列数 16 16
每个基础数据表的列数 1,024 1,024
每个SELECT 语句的列数 4,096 4,096
每个INSERT 语句的列数 1,024 1,024
每个客户端的连接个数 已配置连接的最大值 已配置连接的最大值
数据库大小 1,048,516 TB3 1,048,516 TB3
每个 SQL Server 实例的数据库个数 32,767 32,767
每个数据库的文件组个数 256 256
每个数据库的文件个数 32,767 32,767
文件大小(数据) 32 TB 32 TB
文件大小(日志) 4 TB 32 TB
每个数据表的外键表引用 253 253
标识符长度(以字符计) 128 128
每台计算机的实例数 暂缺 16
包含 SQL 语句的字符串长度(批处理大小) 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1
每个连接的锁数 每个服务器的最大锁数 每个服务器的最大锁数
每个 SQL Server 实例的锁数 2,147,483,647(静态)
SQL Server 40% 的内存(动态) 2,147,483,647(静态)
SQL Server 40% 的内存(动态)
嵌套存储过程层数 32 32
嵌套子查询 32 32
嵌套触发器层数 32 32
每个数据表的非聚集索引个数 249 249
SQL Server 实例中同时打开的对象个数4 2,147,483,647(或可用内存) 2,147,483,647(或可用内存)
每个数据库中的对象个数 2,147,483,6474 2,147,483,6474
每个存储过程的参数个数 1,024 1,024
每个数据表的 REFERENCE 个数 253 253
每个数据表的行数 受可用存储资源限制 受可用存储资源限制
每个数据库的数据表个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4
每个 SELECT 语句的数据表个数 256 256
每个数据表的触发器个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4
每个数据表的 UNIQUE 索引个数或约束个数 249个非聚集索引和 1 个聚集索引 249个非聚集索引和 1 个聚集索引
1 网络数据包大小是表格格式数据方案 (TDS) 数据包的大小,该数据包用于应用程序和关系数据库引擎之间的通讯。默认的数据包大小为 4 KB,由 network packet size 配置选项控制。
2 在 SQL Server 2000 中,任何键的最大字节数不能超过 900。可以使用可变长度的列来定义键,只要在这种列中不插入数据超过 900 字节的行,其最大大小就可以在 900 以上。有关更多信息,请参见索引键的最大值。
3 当使用 SQL Server 2000 Desktop Engine 或 Microsoft 数据引擎 (MSDE) 1.0 时,数据库的大小不能超过 2 GB。
4数据库对象包括所有的表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束。一个数据库中所有对象的总数不得超过 2,147,483,647。
说明 SQL Server 2000 中文版不支持英文版的 NT 4.0 企业版。
SQL Server 2000 版本支持的最大处理器数
下表列出各 SQL Server 2000 版本中的数据库引擎在对称多处理 (SMP) 计算机上能够支持的处理器数。
操作系统 企业版 标准版 个人版 开发版 Desktop Engine SQL Server CE 企业评估版
Microsoft Windows® 2000 DataCenter 32 4 2 32 2 暂缺 32
Windows 2000 Advanced Server 8 4 2 8 2 暂缺 8
Windows 2000 Server 4 4 2 4 2 暂缺 4
Windows 2000 Professional 暂缺 暂缺 2 2 2 暂缺 2
Microsoft Windows NT® 4.0 Server 企业版 8 8 2 8 2 暂缺 8
Windows NT 4.0 Server 4 4 2 4 2 暂缺 4
Windows NT 4.0 Workstation 暂缺 暂缺 2 2 2 暂缺 2
Microsoft Windows 98 暂缺 暂缺 1 使用 Desktop Engine 1 暂缺 暂缺
Microsoft Windows CE 暂缺 暂缺 暂缺 暂缺 暂缺 1 暂缺
SQL Server 2000 版本支持的最大物理内存量
下表列出各 SQL Server 2000 版中的数据引擎能够支持的最大物理内存量或 RAM。
操作系统 企业版 标准版 个人版 开发版 Desktop Engine SQL Server CE 企业评估版
Windows 2000 DataCenter 64 GB 2 GB 2 GB 64 GB 2 GB 暂缺 64 GB
Windows 2000 Advanced Server 8 GB 2 GB 2 GB 8 GB 2 GB 暂缺 8 GB
Windows 2000 Server 4 GB 2 GB 2 GB 4 GB 2 GB 暂缺 4 GB
Windows 2000 Professional 暂缺 暂缺 2 GB 2 GB 2 GB 暂缺 2 GB
Windows NT 4.0 Server 企业版 3 GB 2 GB 2 GB 3 GB 2 GB 暂缺 3 GB
Windows NT 4.0 Server 2 GB 2 GB 2 GB 2 GB 2 GB 暂缺 2 GB
Windows NT 4.0 Workstation 暂缺 暂缺 2 GB 2 GB 2 GB 暂缺 2 GB
-------------------------------------------------------------------------
SQL Server 版本或组件
操作系统要求
企业版 Microsoft Windows NT Server 4.0、Microsoft Windows NT Server 4.0 企业版、Windows 2000 Server、Windows 2000 Advanced Server 和 Windows 2000 Data Center Server。
注意,SQL Server 2000 的某些功能要求 Microsoft Windows 2000 Server(任何版本)。
标准版 Microsoft Windows NT Server 4.0、Windows 2000 Server、Microsoft Windows NT Server 企业版、Windows 2000 Advanced Server 和 Windows 2000 Data Center Server。
个人版 Microsoft Windows Me、Windows 98、Windows NT Workstation 4.0、Windows 2000 Professional、Microsoft Windows NT Server 4.0、Windows 2000 Server 和所有更高级的 Windows 操作系统。
开发版 Microsoft Windows NT Workstation 4.0、Windows 2000 Professional 和所有其它 Windows NT 和 Windows 2000 操作系统。
仅客户端工具 Microsoft Windows NT 4.0、Windows 2000(所有版本)、Windows Me 和 Windows 98。
仅连接 Microsoft Windows NT 4.0、Windows 2000(所有版本)、Windows Me、Windows 98 和 Windows 95
每个数据库中的对象个数 2,147,483,6474
对象包括表。
③ 什么是数据库连接连接和会话之间有什么关系
原理上和网站的一个session差不多,只是session是把key放在cookie里面,数据库连接是把key放在客户端的library的内存里(比如.Net Sql Client)。对MS SQL来说,这个连接的协议叫TDS,底下可以走多种传输层协议,比如tcpip,也可以named pipe。而MySQL就又有自己的协议。当然在拿到key之前,先要走个authentication过程,比如Windows Authentication或者Sql authentication,过了authentication才会产生一个session key。如果是启用SSL的话那么整个连接上的数据流还会被加密,防止信息泄露或者中间人攻击。
④ DMP文件导入到SQL中
1.system用户登陆plsql客户端 进入创建表空间
create tablespace tds_tde
datafile 'E:/ORACLE/ORADATA/ORCLTEST/tds_tde.dbf' size 600M reuse
autoextend on next 10M maxsize unlimited extent management local;
其中tds_tde即为表空间名称 'E:/ORACLE/ORADATA/ORCLTEST/tds_tde.dbf' 为数据库安装路径
查看表空间名称和位置:select tablespace_name,file_name from dba_data_files
2.创建一个用户, 指定其表空间为第1 步创建的表空间
create user tds_tde identified by tds_tde
profile default
default tablespace tds_tde
temporary tablespace temp
account unlock;
3. 添加dba角色
创建用户后可以看到user项多了一个用户 tds_tde,编辑改用户将其角色栏中添加dba
4.用户tds-tde登陆plsql客户端,导入dmp
用户tds-tde登陆plsql客户端,注意以Normal进入即可,点击工具、导入表 选择需要导入dmp文件,然后导入即可。
⑤ SQL server 2008报TDS数据流协议错误
微软自SQL 2008以后提供了一个图形化的活动监视器来帮助DBA观察"当前的"阻塞现象. 详情请参考 (点击打开链接). DBA需要关注如下的信息列去
会话 ID:是建立连接时分配给每个用户连接的唯一整数 (int)。
等待时间(毫秒):此任务等待资源所用的时间(毫秒)。如果任务没有等待,则等待时间为 0。
等待类型:最近或当前等待类型的名称。
等待资源:所需资源的名称。
阻塞者:如果有阻塞会话,则为正阻塞任务的会话的 ID。
头阻塞程序:如果有阻塞会话,则标识导致第一个阻塞条件的会话。
值为 1 表示其他会话的头阻塞程序。
⑥ eclipse编写数据库程序出现com.inet.tds.Tds4SQLException: SQL Server Instance 'student2' not found.
com.inet.tds.Tds4SQLException: SQL Server Instance 'student2' not found.这句中,SQL Server Instance 'student2' not found,的意思就是,SQL Server 的实例'student2' 没找到,所以说,就是你程序中dataSource.setInstanceName("student2");这句,指定的实例名是不对的
⑦ 远程连接sql seever的时候 客户端出现这个问题‘在 tds 流中协议错误'
联机帮助上的说明:
表格格式数据流协议
Microsoft® SQL Server™ 2000 使用一个称为表格格式数据流 (TDS) 的应用程序级协议进行客户端应用程序与 SQL Server 之间的通讯。TDS 数据包封装在 Net-Library 所使用的协议栈生成的数据包中。例如,如果使用的是 TCP/IP 套接字 Net-Library,TDS 数据包就封装在基础协议的 TCP/IP 数据包中。
将结果集发送回应用程序的数据包的内容取决于是否在传递给数据库引擎的 Transact-SQL 语句中指定了 FOR XML:
如果没有指定 FOR XML,数据库引擎将关系结果集发送回应用程序。TDS 数据包中包含结果行集,每行包括一列或多列,就像在 SELECT 语句的选择列表中指定的那样。
如果指定了 FOR XML,数据库引擎将 XML 文档以流的形式返回给应用程序。在 TDS 数据包中,XML 文档被格式化为单个的、长 Unicode 值,每个数据包的大小约为 4 KB。
可以配置 SQL Server 数据包大小,即 TDS 数据包大小。大多数客户端上的 TDS 数据包大小默认为 4 KB(DB-Library 应用程序默认为 512 字节),经过测试证明,在几乎所有的方案中,这是最佳的 TDS 数据包大小。TDS 数据包大小可以比基础协议中的数据包大。如果是这种情况,发送数据包的计算机上的协议栈自动将 TDS 数据包分解成适合协议数据包大小的单元,客户端计算机上的协议栈则在接收计算机上将 TDS 数据包重新组合在一起。
⑧ SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。
由于SQLServer 2000 和SQLServer 2005 所用的数据库驱动不同。系统无法识别。删除tomcat下的其中一个驱动。
⑨ 如何创建一个数据库管理系统的登录用户
你可以看以下几点:
1.看该系统用了什么数据库,简单的说一般是Mysql或者SQL server,你已经还原了说明用的是SQL Server啦
2.用户登录一般是管理员和普通用户两类,对应的表为AdminXxx和UserXxx,打开看一下里面的登录用户名和密码;
3.一般就注意上两项就行……
----------------------------------------------------------------------
你应该是是用JDBC连接MS SQL2000吧的驱动吧
端口应该是1433吧
而且有的必须要安装2000 SP3补丁 不然1433也不打不开
其实还有万能的方法,不用JDBC驱动的
记得是在sun公司的网站上一个连接到inet上下一个datasource源包,它可以直接与JDBC上层API创建连接
就是用datasource.getConnection()返回一个连接
-----------
Microsoft SQL Server JDBC Driver 2.0
-------------------
首先是SQL 2000数据库的安装问题,在此我主要讲些关于SQL 2000的版本与操作系统的兼容性问题:SQL 2000总共有7个不同版本,适应不同等级用户的需求。
我试了一下,在XP系统下只有“个人开发版”能正常安装而不出现错误,所以大家在安装时要注意,具体安装时的配置参照相关说明就可以了。
下面说明如何连接到SQL 2000数据库,首先当然是要下载JDBC驱动程序,最好去微软官方网站下载,然后将下载到的三个JAR包放入你的WEB应用的WEB-INF/lib/下。接下来编写程序进行测试:
/***********************************************
/*
/*DBTest.java
/*
/******************************************* */
import java.sql.*;
public class DBTest
{
Connection con;
Statement sta;
ResultSet rs;
String driver;
String url;
String user;
String pwd;
public DBTest()
{
driver = "com.microsoft.jdbc.
sqlserver.SQLServerDriver";;
url = "jdbc:microsoft:sqlserver:
//localhost:1433;DatabaseName =test";
//test为数据库名
user = "sa";
pwd = "sa";
//请更改为你相应的用户和密码
init();
}
public void init()
{
try{
Class.forName(driver);
System.out.println("driver is ok");
con = DriverManager.
getConnection(url,user,pwd);
System.out.println("conection is ok");
sta = con.createStatement();
rs = sta.executeQuery
("select * from room");
while(rs.next())
System.out.println
(rs.getInt("roomNum"));
}catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String args〔〕)
//自己替换〔〕
{
new DBTest();
}
}
按道理讲,上边这段代码应该没错,可首先我们来看一下,如果sqlser服务器没有升级到sp3(在使用jdbc时,如果系统是xp或者2003务必要把sqlserver 升级到sp3,往上到处都有下的),我们看看运行结果:
driver is ok
java.sql.SQLException: [Microsoft]
[SQLServer 2000 Driver for JDBC]
Error establis
hing socket.
at com.microsoft.jdbc.base.
BaseExceptions.createException(Unknown Source
)
at com.microsoft.jdbc.base.
BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.
BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.
TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.
SQLServerImplConnection.open(Unknown Sou
rce)
at com.microsoft.jdbc.base.
BaseConnection.getNewImplConnection(Unknown S
ource)
at com.microsoft.jdbc.base.
BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.
BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.
getConnection(DriverManager.java:523)
at java.sql.DriverManager.
getConnection(DriverManager.java:171)
at DbTest.init(DbTest.java:32)
at DbTest.<init>(DbTest.java:25)
at DbTest.main(DbTest.java:46)
Press any key to continue...
出现上边错误的主要原因是默认的数据库服务器端口 1433没有打开,无法直接连接。如果升级到sp3则这个问题可以结决,我们再来看看升级之后,程序运行的结果:
driver is ok
conection is ok
java.sql.SQLException:
[Microsoft][SQLServer 2000 Driver for JDBC]
[SQLServer]对
象名 ’room’ 无效。
at com.microsoft.jdbc.base.
BaseExceptions.createException(Unknown Source
)
at com.microsoft.jdbc.base.
BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.
TDSRequest.processErrorToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.
TDSRequest.processReplyToken(Unknown
Source)
at com.microsoft.jdbc.sqlserver.tds.
TDSExecuteRequest.processReplyToken(
Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.
TDSRequest.processReply(Unknown Sour
ce)
at com.microsoft.jdbc.sqlserver.
SQLServerImplStatement.getNextResultType
(Unknown Source)
at com.microsoft.jdbc.base.
BaseStatement.commonTransitionToState
(Unknown
Source)
at com.microsoft.jdbc.base.
BaseStatement.postImplExecu
te(Unknown Source)
at com.microsoft.jdbc.base.
BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.
BaseStatement.executeQueryInternal
(Unknown So
urce)
at com.microsoft.jdbc.base.
BaseStatement.executeQuery(Unknown Source)
at DbTest.init(DbTest.java:35)
at DbTest.<init>(DbTest.java:25)
at DbTest.main(DbTest.java:46)
Press any key to continue...
在这儿,用户已经登陆上去,但是却不能访问里边的数据表,出现这个问题的原因在于sa用户为系统用户,它虽然能够登陆数据库,但是test数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户share,建立过程如下:
在test数据库中选重用户 ---〉新建用户 -- 〉名称选择(这一步中有两个关键点:身份验证选sql身份验证,默认数据库选test)-〉建立新教色share ,此时更改程序,将用户登陆名和密码修改一下,重新运行程序:
driver is ok
conection is ok
1001
1002
1003
1004
1005
1006
Press any key to continue...
这次顺利通过测试
其实这些小问题花了我一个晚上才解决,真是浪费时间,所以写下来希望能使遇到类似问题的朋友不要重蹈覆辙,在此提醒大家遇到问题时多上网查查,多在论坛里问问,这样你学到的会更多,更节省时间,更有效率。
总结:Sqlserve 和JDBC 的融合问题,关键涉及到sp3补丁(端口开放)还有用户问题,解决这两个问题之后,剩余的便是Sqlserver 操作问题了,还有一点在远程操作的时候,要把Sqlserver 组设置一下,在安全性里边亦将身份验证更改为Sqlserve 验证即可。
⑩ jdbc连接sybase数据库问题
因为jdbc连接数据库需要第三方的包,比如Oracle就要class12.jar或者ojdbc14.jar这样的包。你需要下载一个,google一下Java连接Oracle的工具包就可以下载到了。然后放入你项目的路径下。就可以连接了。
希望我的回答对你有所帮助