串数据库
❶ 数据库连接串效率的问题
呵呵,你要是打算用一般的台机来干服务器的事,那当然卡。没有根本的解决办法。
一般的台机进行数据库类的ASP网页,几十个人还是能受得了的。
上了百就吃不消了。
(说的是同时并发)
解决方法:多台机共同协作。
补充,所谓的同时并发,说的是一秒内同时有多少个人。一般同时能经受百人的情况下,这台机器就能应付一天几千的访问量了。
最耗资源的是某些情况下对方持行完联接代码后没有持行释放的代码,不过,这种情况应该不多(百次里最多有一次)。
你给出的那些代码是最常见的代码,而且本人的看法,也是比较合理的代码,没有什么可改写和优化的。
如果那些代码在你的机器上占用大量资源只可能是:
1、来访者太多,同时并发数达到了几十人以上。
2、代码的其它部分可能有问题。
3、你的系统有问题(如防火墙有问题,杀软有问题,甚至可能是有木马或病毒),当然,不排除系统漏洞(可能性比较小)。
4、如在网页上放上本地的电影或其它大型软件下载(几十上百M),因为电影体积大,IIS可能需要比较大的内存开销以做文件传输缓冲,多人并发的情况下可能会使内存用量大增。
❷ 数据库分割字符串 做连接查询
T-sql象数组一样处理字符串 Tsql大秘密 收藏
T-SQL对字符串的处理能力比较弱,比如要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处 理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。
一、按指定符号分割字符串,返回分割后的元素个数,方法 很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。
Create function Get_StrArrayLength
(
@str varchar(1024), --要分割的字符串
@split varchar(10) --分隔符号
)
returns int
as
begin
declare @location int
declare @start int
declare @length int
set @str=ltrim(rtrim(@str))
set @location=charindex(@split,@str)
set @length=1
while @location<>0
begin
set @start=@location+1
set @location=charindex(@split,@str,@start)
set @length=@length+1
end
return @length
end
调 用示例:select dbo.Get_StrArrayLength('78,1,2,3',',')
返回值:4
二、按指定符号分割字符串,返回分割后指定索引的第几个元素,象数组一样方便
Create function Get_StrArrayStrOfIndex
(
@str varchar(1024), --要分割的字符串
@split varchar(10), --分隔符号
@index int --取第几个元素
)
returns varchar(1024)
as
begin
declare @location int
declare @start int
declare @next int
declare @seed int
set @str=ltrim(rtrim(@str))
set @start=1
set @next=1
set @seed=len(@split)
set @location=charindex(@split,@str)
while @location<>0 and @index>@next
begin
set @start=@location+@seed
set @location=charindex(@split,@str,@start)
set @next=@next+1
end
if @location =0 select @location =len(@str)+1
--这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号.
return substring(@str,@start,@location-@start)
end
调用示例:select dbo.Get_StrArrayStrOfIndex('8,9,4',',',2)
返回值:9
三、结合上边两个函数,象数组一样遍历字符串中的元素
declare @str varchar(50)
set @str='1,2,3,4,5'
declare @next int
set @next=1
while @next<=dbo.Get_StrArrayLength(@str,',')
begin
print dbo.Get_StrArrayStrOfIndex(@str,',',@next)
set @next=@next+1
end
调用结果:
1
2
3
4
5
写两个自定义函数,然后就可以在SQL语句中使用了
❸ 数据库中成串的数字和字母的组合是什么意思
有可能是生成的GUID,基本上作为一个唯一建存在
❹ 请问数据库中的字符连接串是什么
$link = mysql_connect("localhost","root","") or die("连接数据库有误");
mysql_select_db("test",$link);
mysql_query("set names utf8",$link);
❺ 什么是数据库连接字符串
连接字符串的是一个以分号为界,划分键/值参数对的列表。连接字符串包含一个由一些属性名/值对组成的集合。每一个属性/值对都由分号隔开,如下所示:
PropertyName1="Value1";PropertyName2="Value2";PropertyName3="Value3";.....
同样,连接字符串必须包含SQL Server实例名称: Data Source=ServerName;
总的来说,数据库的连接字符串分为两种:Windows身份验证和SQL Server身份验证。每种方法都有各自的优缺点。但是遵循的基本规则是一样的,基本规则如下:
如果采用SQL Server身份验证方式,Data Source(数据源)、Initial Catalog(初始编目)、User ID(用户ID)、和Password(密码)等元素是必须的,下面这些选项都是可用的:
·Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Provider(数据提供程序).
·AttachDBFilename/extended properties(扩展属性)/Initial File Name(初始文件名):可连接数据库的主要文件的名称,包括完整路径名称。数据库名称必须用关键字数据库指定。
·Connect Timeout(连接超时)/Connection Timeout(连接超时):一个到服务器的连接在终止之前等待的时间长度(以秒计),缺省值为15。
·Connection Lifetime(连接生存时间):当一个连接被返回到连接池时,它的创建时间会与当前时间进行对比。如果这个时间跨度超过了连接的有效期的话,连接就被取消。其缺省值为0。
·Connection Reset(连接重置):表示一个连接在从连接池中被移除时是否被重置。一个伪的有效在获得一个连接的时候就无需再进行一个额外的服务器来回运作,其缺省值为真。
·Current Language(当前语言):SQL Server语言记录的名称。
·Data Source(数据源)/Server(服务器)/Address(地址)/Addr(地址)/Network Address(网络地址):SQL Server实例的名称或网络地址。
·Encrypt(加密):当值为真时,如果服务器安装了授权证书,SQL Server就会对所有在客户和服务器之间传输的数据使用SSL加密。被接受的值有true(真)、false(伪)、yes(是)和no(否)。
·Enlist(登记):表示连接池程序是否会自动登记创建线程的当前事务语境中的连接,其缺省值为真。
·Database(数据库)/Initial Catalog(初始编目):数据库的名称。
·Integrated Security(集成安全)/Trusted Connection(受信连接):表示Windows认证是否被用来连接数据库。它可以被设置成真、伪或者是和真对等的sspi,其缺省值为伪。
·Max Pool Size(连接池的最大容量):连接池允许的连接数的最大值,其缺省值为100。
·Min Pool Size(连接池的最小容量):连接池允许的连接数的最小值,其缺省值为0。
·Network Library(网络库)/Net(网络):用来建立到一个SQL Server实例的连接的网络库。支持的值包括: dbnmpntw (Named Pipes)、dbmsrpcn (Multiprotocol/RPC)、dbmsvinn(Banyan Vines)、dbmsspxn (IPX/SPX)和dbmssocn (TCP/IP)。协议的动态链接库必须被安装到适当的连接,其缺省值为TCP/IP。
·Packet Size(数据包大小):用来和数据库通信的网络数据包的大小。其缺省值为8192。
·Password(密码)/Pwd:与帐户名相对应的密码。
·Persist Security Info(保持安全信息):用来确定一旦连接建立了以后安全信息是否可用。如果值为真的话,说明像用户名和密码这样对安全性比较敏感的数据可用,而如果值为伪则不可用。重置连接字符串将重新配置包括密码在内的所有连接字符串的值。其缺省值为伪。
·Pooling(池):确定是否使用连接池。如果值为真的话,连接就要从适当的连接池中获得,或者,如果需要的话,连接将被创建,然后被加入合适的连接池中。其缺省值为真。
·User ID(用户ID):用来登陆数据库的帐户名。
·Workstation ID(工作站ID):连接到SQL Server的工作站的名称。其缺省值为本地计算机的名称。
❻ 数据库连接字符串各部分的含义是什么
jdbc的方式连接oracle数据库,thin是指oracle的连接方法,是纯java实现tcp/ip的c/s通讯,还有一种是oci的方法,具体区别参见http://wenku..com/view/00de3659be23482fb4da4c0f.html,@10.0.0.41::1521就是oracle数据库存放机器的ip:端口号(默认1521),sjbitdb就是数据库的实例名了
❼ 数据库密码串如何得到密码
将网站的用户账号和论坛的用户账号同步(网站和论坛的加密方式不同),我的思路是想在数据库里用触发器进行同步(其他方法我有想过,感觉都不合适),网站对网站对应用户表进行增改时,执行触发器里面的程序,对增改的用户相对应密码的密码进行密文转换(网站的不清楚是什么加密方式,但我有加密和解密的程序,论坛则是MD5),然后再增改论坛对应的用户表。请问各位大神这个触发器要怎么写?
❽ 如何添加oracle数据库连接串
tnsnames.ora
找这个文件,大概是在...network\admin\tnsnames.ora
用记事本编辑该文件
orcl9i =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.50.1.8 )(PORT = 1521))
)
(CONNECT_DATA =(SERVICE_NAME = orcl)
)
)
SERVICE_NAME是9i的实例服务名,默认是orcl
另外就是端口了,默认是1521
orcl9i这个是别名,使用sql*plus时, conn system/manage@orcl9i
tnsnames.ora这个文件也可使用工具配置,但是这个工具忘了是什么了,好像是net manager吧。
客户端不需要监听的,监听是服务端才有的
另外如果是新建的用户,默认是没有权限登录oracle服务端的,需要授权。
grant connect, resources to new_user
❾ 这串数据库链接代码哪里不对么 请高手指点下!
连接字符串,语法上没有错误,检查一下你服务器和帐号密码及数据库名设置是否有误吧.