易截截图软件、单文件、免安装、纯绿色、仅160KB

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 语言中fread()函数使用时应该注意的地方

用c语言做了个通讯录,系统一运行时便将数据文件加载进内存,并用链表存储。退出系统时,自动将链表中的所有节点再存入文件。
可是现在,每次退出系统,文件里都会比链表多存储一条记录。
如:现在只有两条记录,退出后在启动时一查询,就会多一条乱记录(系统自己加的)。
加载文件的部分代码如下:
/*判断文件是否 ......

C语言指针与数组(C专家编程)

1.区别(主要的):指针需要增加一次额外的提取操作
     编译器为每个变量分配一个地址(左值)。这个地址编译时可知,而且该变量在运行时一直保存于这个地址。相反,存储于变量中的值(它的右值)只有在运行时才可知。如果需要用到变量中存储的值,编译器就发出指令从地址读入变量值并将它存于寄存器中。
  ......

extern "C"底层原理

通常,在C语言的头文件中经常可以看到类似下面这种形式的代码:
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#ifdef __cplusplus
}
#endif /* end of __cplusplus */
那么,这种写法什么用呢?实际上,这是为了让CPP能够与C接口而采用的一种语法形式。之所以采用这种方式 ......

《编程珠玑》问题的C实现——2:向量旋转

 #include <stdio.h>
#include <stdlib.h>
#define SIZE 17
void reverse(int start, int end);
int data[SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
int main(void)
{
int i = 5;
reverse(0, i - 1);
reverse(i, SIZE-1);
reverse(0, SIZE-1);
return ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号