主页
Top.Mail.Ru Yandeks.Metrika
论坛:“基地”;
当前存档:2002.07.25;
下载:[xml.tar.bz2];

向下

啊! 如何使会话不要求用户名和密码? 找到类似的分支


Aleksandr   (2002-07-02 15:53) [0]

Mlyn,我甚至没有看到TSession的LoginPromt属性......当我创建它的每个会话立即要求登录和密码...如何禁用?1



Val   (2002-07-02 16:01) [1]

哪个数据库?



Aleksandr   (2002-07-02 16:07) [2]

MS SQL ... Mlyn,错误的论坛添加:(



Val   (2002-07-02 16:29) [3]

session有属性Databases,他们有LoginPromt。



Aleksandr   (2002-07-02 16:33) [4]

对不起,不太明白。 我的对象中有一个TDataBase组件,可以根据请求创建TQuery线程(它有自己的会话)。 创建查询时,我会为其分配名称,并创建一个唯一的会话。 我认为所有这些会话都将被这个TDataBase实例自动作为数据库。 事实证明,它通常是,而且不需要?



Aleksandr   (2002-07-02 16:45) [5]

是的,顺便说一下,动态会话的数据库列表是空的:(...所以没有什么可以应用于。



Val   (2002-07-02 17:08) [6]

描述你的行动顺序



Aleksandr   (2002-07-03 11:14) [7]

操作顺序如下:

1。 在TList后代创建TDataBase实例,设置连接参数(ODBC名称,登录名,密码)。
2。 将创建具有唯一名称的TSession实例,其名称将分配给FDataBase.SessionName。
3。 创建一个TQuery,其DataBaseName:= FDataBase.DataBaseName属性,它打开并填充可用表的列表,然后将其销毁。
4。 创建了几个线程,每个线程都访问此后代TList.Queries [i]的属性,该属性使用以下函数返回open Query的实例:
function TQueryList.GetSQLQuery(IDT:Word):TQuery; VAR MTI:TQueryItem; s:字符串; Sn:TSession; 开始 结果:= nil; MTI:= GetTblItem(IDT); 如果没有分配(MTI)那么 退出; 结果:= TQuery.Create(nil); 尝试 Result.DatabaseName:= FDataBase.DatabaseName; s:=“FSession _”+ MTI.TblName + IntToStr(Random(100)+ 1); 而Sessions.FindSession(s)<>无 s:=“FSession _”+ MTI.TblName + IntToStr(Random(100)+ 1); {sn:= TSession.Create(nil); sn.SessionName:= s; Sn.KeepConnections:= false; Sn.Open;} 结果.SessionName:= Sessions.OpenSession(s).SessionName; Result.SQL.Add(“SELECT * FROM”+ MTI.TblName); Result.RequestLive:= true; Result.Open 除了 在E:例外开始 LogError(“GetInActiveSQLQuery”,E); Result.Free; 结果:=无 结束 结束 结束;

也就是说,顺序如下:
1。 创建请求
2。 将其DataBaseName属性设置为FDataBase.DataBaseName属性的名称。
3。 将其SessionName属性设置为创建的TSession实例的名称。
评论中采用的是第二种选择。 在第一个选项中需要登录名和密码,第二个选项表示缺少会话名称。



Val   (2002-07-03 11:59) [8]

和LoginPromt的FDataBase是什么?



anatol   (2002-07-03 12:32) [9]

esli vi rabotaete s BDE:
Cajdii videlenii potok doljen raspologatsea vnutri sobstvenogo seansa,ato dostigatsea tem 4to:
a)v potoke sozdaestea TQuery,dlea nego sozdoetsea TSessions unikalnim SessionName i priscaivaetsea svoistvu SessionName u TQuery。 Esli ispol“zuietsea TDatabase,taje dlea cajdogo senasa nujen unikal”nii component TDatabase。



Andrey007   (2002-07-03 12:55) [10]

我不知道MS SQL,而对于Oracle,它是这样完成的:
1。 放置TDataBase组件,在AliasName属性中选择所需的Alias。
2。 别名“别名”a。例如,MyPseudoAlias写在DataBaseName字段中。
3。 在Params属性中写道:
USER NAME =分别
密码=分别
4。 在DataBaseName字段中的数据库访问组件(TTable,TQuery)中写入MyPseudoAlias。 原则上,它应该出现在Alias的列表中。只有当TDataBase组件位于一个表单或数据模块上,并且TTable或TQuery组件位于另一个表单或TQuery组件上时才会出现,并且此时模块与TDataBase形式不同不活跃。
这就是全部。



Aleksandr   (2002-07-03 14:26) [11]

FDataBase.LoginPromt = false;

2 And​​rey007:
我根本没有表格。 这是一个控制台程序。

2 anatol:

所以,也就是说,对于每个新创建的会话,我需要执行以下操作:

开始
DB:= TDataBase.Create(nil);
DB.DataBaseName:= DefSQLDataBaseName;
DB.LoginPromt:= false;
DB.KeepConnection:= true;
DB.Params.Add(“USER NAME =”+ DefLogin);
DB.Params.Add(“PASSWORD =”+ DefPassword);
DB.SessionName:= Sessions.OpenSession(TableName + IntToStr(Random(1000))。SessionName;
结果:= TQuery.Create(nil);
Result.DataBaseName:= DB.DataBaseName;
Result.SQL.Add(“SELECT * FROM”+ TableName);
Result.RequestLive:= true;
Result.Open
结束; ?

如果是这样,那么问题是:谁必须杀死这些会话和这些数据库? 或者他们以某种方式被消灭? 甚至有可能几个TDataBases使用来自同一程序的相同ODBC源?



Andrey007   (2002-07-03 14:31) [12]

在这种情况下,您可以将TDataModule添加到项目中,并在其上放置TDataBase,TTable,TQuery等。



Andrey007   (2002-07-03 14:33) [13]

一般来说,我这样做:

尝试
如果不是Logon.Execute那么OraSession.Logoff否则OraSession.LogOn
除了结束;
如果不是OraSession.Connected然后停止;
Database1.Params.Clear;
Database1.Params.Add(“USER NAME =”+ OraSession.LogonUsername);
Database1.Params.Add(“PASSWORD =”+ OraSession.LogonPassword);
Database1.Connected:= True



Val   (2002-07-03 14:40) [14]

> Aleksandr©(03.07.02 14:26)
谁应该杀死这些会话和这些数据库?
创造的人。
甚至可以从一个程序中获得几个TDataBase ...
为什么不呢?



Aleksandr   (2002-07-03 14:51) [15]

2 Val:

也就是说,在接收到对象的那些流中,是否需要获取此对象的DataBase和此对象的Session,然后将其设为Free?

我不知何故希望当使用它们的所有组件消失时,它们会自杀(至少是会话)...



Val   (2002-07-03 15:12) [16]

他们不会自杀。 例如,当他们躺在DesignTime中的某个表单上时,它们会在您关闭它时自动被杀死,因此,您会用手杀死它们。



Aleksandr   (2002-07-03 15:20) [17]

然后我完全不懂另一件事。 在Delfi,纪念会议的临时数据库。 也就是说,没有必要创建一个TDataBase,但临时的会被自己杀死......



anatol   (2002-07-03 15:30) [18]

亚历山大©:
ya poslal na tag@rateinfo.ru pravil“nii primer raboti s BDE v mnogopoto4nom rejime。



Aleksandr   (2002-07-03 15:55) [19]

阿纳托尔:
谢谢大家!



Страницы: 1 整个分支

论坛:“基地”;
当前存档:2002.07.25;
下载:[xml.tar.bz2];

楼上









内存:0.62 MB
时间:0.029 c
14-81485
谢尔戈
2002-06-26 17:07
2002.07.25
的AVI


3-81158
WIZZARD
2002-07-04 10:07
2002.07.25
我在哪里可以获得DAO 3.6发行版?


1-81310
BillyJeans
2002-07-12 09:46
2002.07.25
Tchart和提示......


4-81513
暗号
2002-05-14 19:08
2002.07.25
特雷


7-81500
广林
2002-05-08 18:01
2002.07.25
需要一个关键记录器





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский