我正在编写一个Delphi 7应用程序,它需要同时从许多不同的线程访问同一个SQL Server数据库.
我可以使用单个共享TADOConnection,还是每个线程都必须创建自己的?
我创建了一个TCPip服务器应用程序.该应用程序有一个全局TADOConnection.此全局ado连接既用于主线程查询,也用于线程进程.
这个可以吗?ADOConnection是否内置了同时处理多个查询的机制?
我的应用程序可以在测试环境中找到(2-5个连接).但是在生产环境中部署时,我发现链接到ADOConnection的TADOQuery被设置为打开时,会出现"无法解释的"访问冲突.
我应该使用ADOConnection还是所有查询都应该自己建立与数据库的连接(这可能需要更多资源)?
我遇到了在我的Delphi 7应用程序中的特定情况下出现的问题.
我有一个ADOConnection,它通过一些用户名和pass-SQL身份验证进入我的MS SQL服务器.问题是MS SQL登录是使用"用户必须在下次登录时更改传递"标志创建的,这使得ADO连接无法连接错误消息"18488 - 用户登录失败'%.*ls'.原因:密码帐户必须更改."
通常,在MS SQL Management Studio中会显示更改密码提示,并且用户可以输入新密码.问题是我应该怎么做才能在我的应用程序中强制更改此用户的密码?我能够捕获错误号并提示登录更改,但是那么呢?连接字符串中没有可用于将pass/reset更改为new的标志(如旧密码和新密码).那我该怎么办?
有人可以帮忙吗?
我正在尝试使用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上的较新版本才能使用此故障转移解决方案,或者我是否在连接字符串中缺少某些内容?
我想使用连接到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.
问题出在哪儿?
我正在尝试打开ADOConnection组件.数据库采用MDB格式.我使用JET来访问它.
每当我在我的代码中使用AdoConnection.Open时,窗口会弹出并请求userid和pass.我为userid输入"Admin"并将密码保留为空,它可以工作,但我不想弹出这个窗口.我尝试使用AdoConnection.Open('Admin','');但窗口仍然弹出.有什么建议?
我有一个Delphi应用程序,使用TADOConnection连接到MS SQL服务器.
现在我需要设置TADOConnection的"Application Name"属性(以便可以在带有select distinct program_name from sys.sysprocesses查询的DB上看到它).
TADOConnection没有ApplicationName属性.相反,它只是在内部为它分配应用程序可执行文件名(可以通过上面的查询看到).
如何设置TADOConnection与MS SQL数据库的连接的"应用程序名称"属性?