这应该和oracle服务器的设置或者版本有关,我的程序在大多数现场运行正常,但在某些现场会出现不识别SID的问题,数据库是客户创建的,而不是我们自己设计的,版本号也各不相同。遇到这个问题,我就不使用uniconnection了,改为ado,安装oracle客户端配置服务名再访问。
UniDAC我也是一直用的这个,你是不是在设计的时候直接用Connection连接数据库了?最后编译的时候要断开,不断开的话,它会直接以你在设计期间的设计去连接那个数据库。
可以试试ZeosLib
ZeosLib 是一组可以在 Delphi、FreePascal、Kylix 和 C++ Builder 中使用的数据库访问组件,支持包括 MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle 和 SQLite 在内的数据库系统。著名的 HeidiSQL 数据库管理工具就是使用该组件来连接MySQL数据库。目前此版本已经支持delphi & C++Builder XE
final String DRIVERNAME = "commicrosoftsqlserverjdbcSQLServerDriver";
final String DBURL = "jdbc:sqlserver://localhost:3437;databaseName=netshop";
final String DBUSER = "sa";
final String DBPWD = "123";
public Connection conn;
public ResultSet rs;
public DBConn() {
// TODO Auto-generated constructor stub
getConn();
}
public Connection getConn() {
try {
ClassforName(DRIVERNAME);
conn = DriverManagergetConnection(DBURL, DBUSER, DBPWD);
//Systemoutprintln("ok");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
Systemoutprintln("驱动未找到");
eprintStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
Systemoutprintln("数据库未找到");
eprintStackTrace();
}
return conn;
}
是这个吗?
中间的那个 是电脑随机产生的,所以每次启动机器时,都要查看后再进行修改。
这么查看的:
右击我的电脑--管理---服务 --SQL2005 --查看IP端口号。。
希望有用!!!
以上就是关于Delphi unidac连接oracle问题,一个很奇怪的问题全部的内容,包括:Delphi unidac连接oracle问题,一个很奇怪的问题、用UniDAC连接MySQL数据库,为什么连不上、sql server为什么不能用以DAC方式登陆(ADMIN:用户名)。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)