首页 > 编程技术 > php

长期使用中型Access数据库的一点经验

发布时间:2016-11-25 16:44

Access数据库在用的过程中, 经常不断的进行删除和增加记录的操作,会出现以下问题:
1. 可能会使Update语句更新失败, 明明一条记录存在, 也可以select到,但在用Update时出现找不到记录, 更新失败的错误信息.
2. 会使数据库增大, 并且降低数据库操作的效率
3. 在删除记录时也不会减少数据库的大小, 并且没有可以改善数据库的相应语句
解决办法
下载Access数据库, 用Access软件打开, 并用"修复和压缩数据库"工具进行处理, 保存后再重新上传并覆盖掉原来的数据库即可解决以上的所有问题. 这种办法比较只适合于中小型的数据库, 大的如果采用上下载的办法太慢了.

接着昨天没有写完的那个无重复的随即数字的程序,我们展开来讲!既然做这个程序的的目的是为了对买彩票的程序作准备!所以我要把 每次 的结果保存到SQL server 数据库中!我的想法是首先运行100万次摇奖的程序后,将这100万条数据存放到数据库中,然后用SQL语句选择出重复次数最多的一组数据,这个就是我的想法!大家仅仅是参考,千万不要模仿呀:)前面我们已经说过如何生成不重复的随即数,我们就利用那个函数来生成一组数据,如此重复100万次!经过3个小时的运算以后,我们得到了一组巨大的记录,下面我们来看看 如何得到 重复次数最多的一组号码呢?我们以前曾经讲过,使用distinct 可以使我们得到一个不重复的记录集(select distinct * from table1),那么怎么得到有重复的记录集呢,显然 简单的使用关键字是不可能实现的了,豆腐最终确定使用Having子句来实现这样的功能,SQL 语句如下,select * from table1 having count(*)>1 这样我们就得到了一个所有记录重复次数超过一次的记录集,我们利用如下语句 select count(*) ccount from table1 group by a1,a2,a3,a4,a5,a6,a7 having count(*)>! order by ccount desc
这样得到的第一个记录就是出现重复次数最多的那组数字。
/*
豆腐制作 都是精品
豆腐技术站
如转载 请保留完整版权信息
*/

mysql数据库表sqltable
字段id,name,sex,email
access数据库表accesstable
id,name,sex,email
<?
$connect = mysql_connect("localhost","","");
mysql_select_db("mydatabase");
$sql = "select * from sqltable;
$result = mysql_query($sql};
$connectodbc=odbc_connect("DSN","USERNAME","PASSWORD");
while($row = mysql_fetch_row($result))
{
$sql="insert into accesstable
values($row["id",$row["name",$row["sex"],$row["email"])";
odbc_do($connectodbc,$sql);
}
odbc_close($connectodbc);
mysql_close($conect);
?>
【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】


今天在用存储过程调用程序时, 发现SQL的时间或日期并不是跟计算机的时钟同步. 比如我把当前时间12:00改为13:00,如果马上用SQL Server的GetDate得到的时间仍为12:00. 但在经常约一分钟(也许只有半分钟),SQL时间才转到系统的正常时间上去.我的系统是Win2K SQL Server7.0, 不知你们是否也有这个问题, 欢迎跟我交流测试.

问:如何在SQL Enterprise Manager version 6.5下操作SQL Server 6.0的服务器?
  答:在使用SQL Enterprise Manager version 6.5来操作SQL Server 6.0之前,首先要在6.0的服务器下运行
SQLOLE65.SQL,该文件在MSSQLINSTALL的目录下。
  问:在将SQL Server 6.0升级到SQL Server 6.5之前,为什么首先要执行Chkupg65.exe这个实用工具?
  答:Chkupg65.exe会自动检测SQL Server 6.0的数据库是否处于正常状态,数据库中的各个对象是否使用了SQL
Server 6.5中的新关键字。并将检测到的出错信息记录到以OUT为后缀的输出文件中去。
  问:在SQL Servr7.0中如何将一个数据库的文件从一个磁盘移到另一个磁盘上?
  答:可以使用SP_DETACH_DB和SP_ATTACH_DB系统存储过程来实现。其步骤如下:
  运行SP_DETACH_DB将目的数据库与SQL Server分离。
  将目的数据库的数据文件(.MDF)和日志文件(.LDF)拷贝到目的磁盘上。
  运行SP_ATTACH_DB将目的磁盘上的文件恢复到SQL Server中。
  问:如何修改SQL Server7.0数据库的Character Set?
  答:使用rebuildm.exe可以修改Character Set和Sort Order。修改Character Set会影响SQL Server管理的所有数据
库,即所有数据库都会使用新的Character Set。
  问:如何在两台机器上从SQL Server6.5升级到SQL Server7.0?
  答:首先要将SQL Server6.5的运行帐户设为一个域帐户,并且在另一台机器上安装的SQL Server7.0也使用该域帐
户。其次这个域帐户要属于这两台机器的管理员组。最后,运行SQL Server6.5和SQL Server7.0的机器要在同一个域中。

标签:[!--infotagslink--]

您可能感兴趣的文章: