标签: adoconnection

Delphi的TADOConnection线程安全吗?

我正在编写一个Delphi 7应用程序,它需要同时从许多不同的线程访问同一个SQL Server数据库.

我可以使用单个共享TADOConnection,还是每个线程都必须创建自己的?

delphi ado delphi-7 thread-safety adoconnection

9
推荐指数
2
解决办法
4294
查看次数

好的是在线程中使用TADOConnection

我创建了一个TCPip服务器应用程序.该应用程序有一个全局TADOConnection.此全局ado连接既用于主线程查询,也用于线程进程.

这个可以吗?ADOConnection是否内置了同时处理多个查询的机制?

我的应用程序可以在测试环境中找到(2-5个连接).但是在生产环境中部署时,我发现链接到ADOConnection的TADOQuery被设置为打开时,会出现"无法解释的"访问冲突.

我应该使用ADOConnection还是所有查询都应该自己建立与数据库的连接(这可能需要更多资源)?

delphi adoconnection

6
推荐指数
2
解决办法
5530
查看次数

Delphi 7 - 由于SQL"必须更改密码"标志,ADOConnection无法连接

我遇到了在我的Delphi 7应用程序中的特定情况下出现的问题.

我有一个ADOConnection,它通过一些用户名和pass-SQL身份验证进入我的MS SQL服务器.问题是MS SQL登录是使用"用户必须在下次登录时更改传递"标志创建的,这使得ADO连接无法连接错误消息"18488 - 用户登录失败'%.*ls'.原因:密码帐户必须更改."

通常,在MS SQL Management Studio中会显示更改密码提示,并且用户可以输入新密码.问题是我应该怎么做才能在我的应用程序中强制更改此用户的密码?我能够捕获错误号并提示登录更改,但是那么呢?连接字符串中没有可用于将pass/reset更改为new的标志(如旧密码和新密码).那我该怎么办?

有人可以帮忙吗?

sql-server delphi delphi-7 adoconnection

5
推荐指数
1
解决办法
2194
查看次数

Microsoft AlwaysOn故障转移解决方案和Delphi

我正在尝试使用Delphi应用程序来使用AlwaysOn解决方案.我在Google上发现我必须MultiSubnetFailover=True在连接字符串中使用.

应用程序在Delphi XE3中编译并使用TADOConnection.

如果我Provider=SQLOLEDB在连接字符串中使用,应用程序启动但看起来MultiSubnetFailover=True没有效果.

如果我使用Provider=SQLNCLI11(我在Google上发现OLEDB不支持AlwaysOn解决方案而且我必须使用SQL Native客户端)我在尝试打开连接时获得无效属性.

连接字符串是:

Provider=SQLOLEDB.1;Password="password here";Persist Security Info=True;User ID=sa;Initial Catalog="DB here";Data Source="SQL Instance here";MultiSubnetFailover=True
Run Code Online (Sandbox Code Playgroud)

我是否必须升级到Delphi上的较新版本才能使用此故障转移解决方案,或者我是否在连接字符串中缺少某些内容?

delphi adoconnection delphi-xe3 alwayson

5
推荐指数
1
解决办法
735
查看次数

使用Delphi7中的ADOConnection连接到excel 2007文件

我想使用连接到excel 2007文件(.xlsx)delphi 7,所以我使用了a AdoConnection并将其connectionstring属性设置为:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\qm\Results-summary.xlsx;Extended Properties="Excel 12.0;IMEX=1";Persist Security Info=False
Run Code Online (Sandbox Code Playgroud)

但是当我激活时,AdoConnection我得到了这个错误:

找不到可安装的ISAM.

问题出在哪儿?

delphi excel-2007 isam delphi-7 adoconnection

5
推荐指数
1
解决办法
7057
查看次数

打开Delphi时,Adoconnection会询问用户名和密码

我正在尝试打开ADOConnection组件.数据库采用MDB格式.我使用JET来访问它.

每当我在我的代码中使用AdoConnection.Open时,窗口会弹出并请求userid和pass.我为userid输入"Admin"并将密码保留为空,它可以工作,但我不想弹出这个窗口.我尝试使用AdoConnection.Open('Admin','');但窗口仍然弹出.有什么建议?

delphi ado adoconnection

2
推荐指数
2
解决办法
1890
查看次数

如何在Delphi中设置TADOConnection的Application Name属性?

我有一个Delphi应用程序,使用TADOConnection连接到MS SQL服务器.
现在我需要设置TADOConnection的"Application Name"属性(以便可以在带有select distinct program_name from sys.sysprocesses查询的DB上看到它).

TADOConnection没有ApplicationName属性.相反,它只是在内部为它分配应用程序可执行文件名(可以通过上面的查询看到).

如何设置TADOConnection与MS SQL数据库的连接的"应用程序名称"属性?

delphi adoconnection

1
推荐指数
1
解决办法
482
查看次数