Hi guys!
Just sharing this amazing discovery with ADS 8.1
Normally, when we do adsconnect60(), we put this on our ads.ini
...
[remoteserver]
INTERNET_IP = <your public ip here>
INTERNET_PORT = 2001
LAN_IP = 192.168.0.1
LAN_PORT = 2002
[Databases]
SERVER = \\remoteserver\DD\database.add;D
...
notice the 'DD' in "\\remoteserver\DD\database.add;D", it's NOT EVEN SHARED nor exist in the server side....
Using ADS 'Server-side aliases', define this to the server side...
file: "AdsServer.ini" put the file to ads 'error log' path which is configured with your ADS server 8.1 or higher ( normaly on C: )
content of "AdsServer.ini" is
[ServerAliases]
DD=D:\AdsDictionary
DB=D:\App1\Tables
the "DB" is the path where you put the tables defined in your database.ADD.... this is to avoid ADS error#8026 "Error obtaining server drive information from server and share names". I dont like the solution posted by ADS wherein my tables are at risk for exposure...
The above is based on actual experienced... if may vary from different condition.
I think it's worth sharing.... Yesterday (July/2/2008) I can't find any info regarding my problem so this maybe useful with others using ADS over internet.
This is total security... there's no way any client can find your tables on the remote side. Applicable and tested.
Regards,
ADS server side alias
ADS server side alias
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
- reinaldocrespo
- Posts: 918
- Joined: Thu Nov 17, 2005 5:49 pm
- Location: Fort Lauderdale, FL
Padilla;
That was the main reason I started using ADS. NO SHARES. The data is totally hidden from all users. There is no better security than this.
BTW, you can connect to your data also using ip:port/path_to_add in adsconnect().
like this:
xrddpath := "\\192.168.1.1:2000\data\dd.add"
AdsConnect60( xrddpath + cDict, ADS_REMOTE_SERVER, "user", "pass" )
What I usually do is have a .ini file with the path to the dd and the connection mode (REMOTE, LOCAL, INTERNET) written in a section called: [RDD]:
[RDD]
path=\\192.168.1.1.:2000\data\dd.add
rddVer=REMOTE
Just like you said, folder \data on the server does not need to be shared. Totally invisible. SQL what-who?
Here is another tip, from within my app I can execute ISAM commands or simple SQLs, such as:
Reinaldo.
That was the main reason I started using ADS. NO SHARES. The data is totally hidden from all users. There is no better security than this.
BTW, you can connect to your data also using ip:port/path_to_add in adsconnect().
like this:
xrddpath := "\\192.168.1.1:2000\data\dd.add"
AdsConnect60( xrddpath + cDict, ADS_REMOTE_SERVER, "user", "pass" )
What I usually do is have a .ini file with the path to the dd and the connection mode (REMOTE, LOCAL, INTERNET) written in a section called: [RDD]:
[RDD]
path=\\192.168.1.1.:2000\data\dd.add
rddVer=REMOTE
Just like you said, folder \data on the server does not need to be shared. Totally invisible. SQL what-who?
Here is another tip, from within my app I can execute ISAM commands or simple SQLs, such as:
Code: Select all
SELECT adm.recno AS [Record],
adm.adm_num AS [Account],
trim( pat.last ) + ' ' + trim( pat.last2 ) + ', ' + pat.name AS [Name],
adm.adm_date AS [Adm_date],
adm.dis_date AS [Dis_date],
srv.Insurance AS [Insurance],
(SELECT SUM( pch.total ) FROM [ptechrgs] pch
WHERE pch.adm_num = adm.adm_num ) AS [Charges],
srv.real_amt AS [Expectd],
srv.ins_paymen AS [Ins_Paymnt],
(srv.real_amt - srv.ins_paymen) AS [Pending]
FROM admit adm
LEFT JOIN service srv ON adm.adm_num = srv.adm_num
LEFT JOIN patients pat ON pat.recno = srv.recno
WHERE adm.adm_date < '2008-01-01'
AND adm.dis_date > '2007-12-31'
Hello Reinaldo
Another great tip you have here! I hope other guys using ADS shares their experiences too!
Before I do direct connect \\<ip>:<port>\<share> ... It's great I discover the server-side aliases..
It's easier and manageable using 'AdsServer.Ini' on the server...
I still have many things to test.... I really appreciate the SQL sample you posted... I really need to go to that path...
If any of you ADS guru share wrapper for example AdsSkip() would be greatly appreciated.
Count me IN.
Regards,
Another great tip you have here! I hope other guys using ADS shares their experiences too!
Before I do direct connect \\<ip>:<port>\<share> ... It's great I discover the server-side aliases..
It's easier and manageable using 'AdsServer.Ini' on the server...
I still have many things to test.... I really appreciate the SQL sample you posted... I really need to go to that path...
If any of you ADS guru share wrapper for example AdsSkip() would be greatly appreciated.
Count me IN.
Regards,
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
- reinaldocrespo
- Posts: 918
- Joined: Thu Nov 17, 2005 5:49 pm
- Location: Fort Lauderdale, FL
I've been testing the table iteration (speed) like:
..OR...
I can use dbEval() function which is faster than the for...next iteration.
what is your best best recommendation for this matter?
Regards,
Code: Select all
for i := 1 to alias->( lastrec() )
...
alias->( dbSkip() ) //here can be be adsskip() since I used ADS all-out
if alias->(eof()) //here can be ADSIsEOF()... (an example function)
exit
end
next
..OR...
I can use dbEval() function which is faster than the for...next iteration.
what is your best best recommendation for this matter?
Regards,
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15