SQL SERVER上面的程序迁移到ORACLE!本来以为只是简单的数据库切换,没想到遇到这么多麻烦!希望诸位程序员不吝赐教,帮我渡过难关!
问题一共四个(开发环境为DELPHI+ORACLE9I):
1、用ADOCONNECTION连接ORACLE数据库,测试连接成功,用ADOTABLE连接时却连不
上并报错“数据提供程序或其他服务返回 E_FAIL 状态”,如何解决?
(该问题在网上也搜过,有很多人问但均无满意答复)
2、软件做完之后是否必须要在客户机上安装ORACLE客户端,如何避免?
3、与ORACLE数据库的连接是用数据库名称+密码来实现的,能否用IP+密码来实现
?如何实现?
4、如何在程序中实现数据表的动态创建及动态编辑?
(最关键看来是第一个问题,急啊)
问题一共四个(开发环境为DELPHI+ORACLE9I):
1、用ADOCONNECTION连接ORACLE数据库,测试连接成功,用ADOTABLE连接时却连不
上并报错“数据提供程序或其他服务返回 E_FAIL 状态”,如何解决?
(该问题在网上也搜过,有很多人问但均无满意答复)
2、软件做完之后是否必须要在客户机上安装ORACLE客户端,如何避免?
3、与ORACLE数据库的连接是用数据库名称+密码来实现的,能否用IP+密码来实现
?如何实现?
4、如何在程序中实现数据表的动态创建及动态编辑?
(最关键看来是第一个问题,急啊)
解决方案 »
- 如何让AdvMemo对中文一次性选择两个字节(像普通的Memo一样)
- delphi加密函数问题
- 请问为什么数据函数成功执行后,我断电数据还是保存不了,有没有什么解决方法?
- 有谁知道idwinsock (for delphi)控件在那里下载?谢谢!
- 求助,请教各位大哥怎么把 服务器里的数据库都选择出来,谢谢!
- 我大学本科毕业,有一定的程序设计基础,但是我现在都不知道做什么工作好,请高手指点!
- 怎么在一个project中加一个已有form窗体?
- File:的用法
- 报错[dbnetlib][connection open]sql server不存在或拒绝访问,什么原因?
- 请教一个edit的问题
- 如何将控件的运行时状态设计成跟设计时一样,能完成拖过,多选控件,并且在选中控件的周围显示六个小点。
- ini文件读取问题
uses
SysUtils, Classes, DB, DBClient, ADODB, Provider, MidasLib, ComCtrls,
OraProvider, MemDS, DBAccess, Ora;type
TdbMain = class(TDataModule)
cnMain: TADOConnection;
qryMain: TADOQuery;
dspMain: TDataSetProvider;
cdsMain: TClientDataSet;
SessionMain: TOraSession;
qryOraMain: TOraQuery;
dspOraMain: TOraProvider;
cdsMain1: TClientDataSet;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations } end;
var
dbMain: TdbMain;implementationuses
untPublic;{$R *.dfm}
const
{oracle}
ConnectStr='Provider=MSDAORA.1;Password=%s;User ID=%s;Data Source=%s;Persist Security Info=False';procedure TdbMain.DataModuleCreate(Sender: TObject);
begin
if ((_sConnectType = '') or (_sConnectType = '0')) then
begin
if (SessionMain.Connected) then SessionMain.Connected := False;
SessionMain.Username := _sDbUser;
SessionMain.Password := _sDbPsw;
SessionMain.Server := _sDbServer;
SessionMain.Connect;
_bDBConnect := True;
end
else
begin
if cnMain.Connected then cnMain.Connected :=False;
cnMain.ConnectionString := Format(ConnectStr,[_sDbPsw,_sDbUser,_sDbServer]);
cnMain.Connected := True;
_bDBConnect := True;
end;
end;
问题一共四个(开发环境为DELPHI+ORACLE9I):
1、用ADOCONNECTION连接ORACLE数据库,测试连接成功,用ADOTABLE连接时却连不
上并报错“数据提供程序或其他服务返回 E_FAIL 状态”,如何解决?
(该问题在网上也搜过,有很多人问但均无满意答复)不要用adotable对oracle进行操作,改adodataset,用commandtext方式
2、软件做完之后是否必须要在客户机上安装ORACLE客户端,如何避免?
如果采用ado,或odbc,这是无法避免的,3、与ORACLE数据库的连接是用数据库名称+密码来实现的,能否用IP+密码来实现
?如何实现?这个是没有意义的事情,因为oracle需要client的,只需在客户层配置一下服务器就可以了!4、如何在程序中实现数据表的动态创建及动态编辑?
(最关键看来是第一个问题,急啊)数据表的动态create和动态编辑,只是SQL,完全可以!
2、用ODAC就可以避免在客户机上安装ORACLE客户端3、用ODAC可以两种方式连接数据库的
gw_delphi(从容) 给你留了例子,你可以参照着做
4、 这个问题没有大看明白,如果是动态创建来临时使用的表,用ODAC提供的虚拟表是一个不错的选择