ASA局域网C/S架构配置最终完美超强版............
ASA局域网C/S架构配置最终完美超强版............
具体实现有两种,如下:
一、服务器端安装ASA,因为要使用ASA中自带的Sybase Central工具。
服务器端开启:scjview.exe(即:Sybase Central,注意不是Sybase Central-Sybase Central。界面如图:)
1、设置如下:file-new-server
服务器名字随便起(便于这个工具管理记忆,无任何作用),next,选择network database server ,next,默认,next,在框里填写服务器端数据库的实际路径比如:d:\database\mydata.db -n myserver(-n myserver是参数,参数在后面说),next。默认,next。三个选项:自动启动,手动启动。不可用。如果是服务器自动开启不管,就选择第一个。即使服务器Window用户不登录,客户端也可以访问。finish
搞掂了。你的服务器配置的数据库名字就是myserver。记住这个名字,如果没有参数“-n myserver”,则默认就是数据库文件的名字,但是没有扩展名。
2、客户端的ODBC配置
odbc选项里填写datasourse name(你的应用程序要连接的odbc的名字,随便写,但是应用程序里要自己会用,跟平时一样,这里添my123,举例)
login选项里安平时怎么设就怎么设,如果在程序里设置,这里就不用填。
在database选项里server name 填写服务器名字myserver。其它设置不填
network里勾选 TCP/IP,如果连接不通,需要构选spx。
好了。搞掂了
客户端装软件的时候,用制作工具把注册表中的odbc配置:my123,同时去了Driver前的绝对路径,注册到用户的注册表里。不说了。再说就跑怎样制作程序包了。呵呵。
只要服务器一旦开机,不论登录与否,客户端都可以访问
要求是服务器端必须装ASA
二、服务器端不安装ASA,但是需要一些必须的文件,具体文件就是平时发布时需要的动态链接库,同时一定要带dbsrv8.exe这个文件。
1、在程序里取到dbsrv8.exe的路径,run("path\dbsrv8 d:\database\mydata.db -n myserver")。服务器成功启动。(path 为取到的路径)
如果要设置为开机自动启动,自己在注册表中动手脚吧。
2、客户端配置与(一)相同
就这么简单,就这么直接,这就是C/S架构,只能在局域网用
===================================================================
注意事项:
1、如果开启了服务器,在时间旁边的ASA小图标上弹右键,restore,找里面的一句话:Concurrent Seat model. Access to the server is limited to 1 concurrent seat(s).
这句话的意思:并发
相关文档:
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序--> ......
char* my_strrev( char* string )
{
char *left, *right, ch;
left = right = string;
while( *right++ != '\0');
right -= 2;
while( left<right )
{
ch = *left;
*left = *right;
*right = ch;
++left; --right;
&n ......
- 要使用断言对函数参数进行确认
- 为了不必要的开销,可以仅使用断言,而不要return
网上有人写的strcpy代码,做了太多的出错处理,导致性能低下,其实没必要,用assert就行了,这样在debug模式下能捕捉错误,release下又不影响性能。
- 书上提供的memcpy的范例
void memcpy(void* pvT ......
一、 函数参数传递机制的基本理论 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。 值传递(passl-by-value)过程中,被调函数的形式参 ......