كيفية ربط قواعد البيانات SQL AnyWhere مع PowerBuilder من دون الحاجة الى ODBC .
قمت بنسخ الكود و تجريبه على PowerBuilder 11.5 و SQL Anywhere 11 .
رابط الكود . http://sqlanywhere-forum.sybase.com/questions/12671/connecting-to-a-db-file-from-powerbuilder
الهدف من هذا الكود ربط البرنامج مباشرة ، للبرامج التي تكون مستخدم واحد Single User او للعروض التروجيه Demo Software .
قمت بنسخ الكود و تجريبه على PowerBuilder 11.5 و SQL Anywhere 11 .
رابط الكود . http://sqlanywhere-forum.sybase.com/questions/12671/connecting-to-a-db-file-from-powerbuilder
الهدف من هذا الكود ربط البرنامج مباشرة ، للبرامج التي تكون مستخدم واحد Single User او للعروض التروجيه Demo Software .
// ---------------------------------------------------------------------------
// Auto-start local database with auto-stop enabled.
gtr_local = CREATE u_tr_sqlca
gtr_local.DBMS = 'ODB'
gtr_local.DBParm &
= "ConnectString='Driver=SQL Anywhere 12;" &
+ "UID=dba;PWD=sql;" &
+ "START=C:\Program Files\SQL Anywhere 12\Bin64\dbeng12.exe -o C:\data\dbeng12_log_local.txt -os 10M -x none -zl -zp -zt;" &
+ "DBF=C:\data\local.db'," &
+ "ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"
CONNECT USING gtr_local;
IF gtr_local.SQLCODE <> 0 THEN
MessageBox ( 'Error', 'CONNECT USING gtr_local failed:' &
+ '~r~nSQLCode = ' &
+ String ( gtr_local.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( gtr_local.SQLDBCode ) &
+ '~r~n' &
+ gtr_local.SQLErrText )
RETURN
END IF
MessageBox ( 'OK', 'CONNECT USING gtr_local OK.' )
// ---------------------------------------------------------------------------
// Connect to network database.
gtr_network = CREATE u_tr_sqlca
gtr_network.DBMS = 'ODB'
gtr_network.DBParm &
= "ConnectString='Driver=SQL Anywhere 12;" &
+ "UID=dba;PWD=sql;DBN=network;SERVER=network'," &
+ "ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"
CONNECT USING gtr_network;
IF gtr_network.SQLCODE <> 0 THEN
MessageBox ( 'Error', 'CONNECT USING gtr_network failed:' &
+ '~r~nSQLCode = ' &
+ String ( gtr_network.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( gtr_network.SQLDBCode ) &
+ '~r~n' &
+ gtr_network.SQLErrText )
RETURN
END IF
MessageBox ( 'OK', 'CONNECT USING gtr_network OK.' )
// ---------------------------------------------------------------------------
SQLCA.DBMS = 'ODB'
SQLCA.DBParm &
= "ConnectString='Driver=SQL Anywhere 11;" &
+ "UID=dba;PWD=sql;" &
+ "START=C:\Program Files\SQL Anywhere 11\bin32\dbeng11.exe;" &
+ "ASTOP=NO;" &
+ "DBF=C:\projects\$SA_templates\ddd11.db;" &
+ "ENG=ddd11;" &
+ "DBN=ddd11;'," &
+ "ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"
CONNECT USING SQLCA;
IF SQLCA.SQLCODE <> 0 THEN
MessageBox ( 'Error', &
'CONNECT 1 failed in open:' &
+ '~r~nSQLCode = ' &
+ String ( SQLCA.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( SQLCA.SQLDBCode ) &
+ '~r~n' &
+ SQLCA.SQLErrText )
RETURN
END IF
MessageBox ( 'CONNECT 1', 'OK' );
DISCONNECT USING SQLCA;
// ---------------------------------------------------------------------------
SQLCA.DBMS = 'ODB'
SQLCA.DBParm &
= "ConnectString='Driver=SQL Anywhere 11;" &
+ "UID=dba;PWD=sql;" &
+ "ENG=ddd11;" &
+ "DBN=ddd11;'," &
+ "ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"
CONNECT USING SQLCA;
IF SQLCA.SQLCODE <> 0 THEN
MessageBox ( 'Error', &
'CONNECT 2 failed in open:' &
+ '~r~nSQLCode = ' &
+ String ( SQLCA.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( SQLCA.SQLDBCode ) &
+ '~r~n' &
+ SQLCA.SQLErrText )
RETURN
END IF
MessageBox ( 'CONNECT 2', 'OK' );
// ---------------------------------------------------------------------------
SQLCA.DBMS = 'ODB'
SQLCA.DBParm &
= "ConnectString='Driver=SQL Anywhere 11;" &
+ "UID=dba;PWD=sql;DatabaseName=ruralfinds_local;EngineName=ruralfinds_local'," &
+ "ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"
CONNECT USING SQLCA;
IF SQLCA.SQLCODE <> 0 THEN
MessageBox ( 'Error', &
'CONNECT failed in open:' &
+ '~r~nSQLCode = ' &
+ String ( SQLCA.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( SQLCA.SQLDBCode ) &
+ '~r~n' &
+ SQLCA.SQLErrText )
RETURN
END IF
MessageBox ( 'CONNECT', 'OK' );
// ---------------------------------------------------------------------------
SQLCA.DBMS = 'ODBC'
SQLCA.DBParm &
= "ConnectString='Driver=Adaptive Server Anywhere 9.0;" &
+ "UID=dba;PWD=sql;DatabaseName=asademo;EngineName=asademo9;" &
+ "AutoStop=No;Integrated=No;" &
+ "CommLinks=SharedMemory,TCPIP{HOST=tsunami;DOBROAD=NONE};" &
+ "Compress=No',ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"
CONNECT USING SQLCA;
IF SQLCA.SQLCODE <> 0 THEN
MessageBox ( 'Error', &
'CONNECT failed in open:' &
+ '~r~nSQLCode = ' &
+ String ( SQLCA.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( SQLCA.SQLDBCode ) &
+ '~r~n' &
+ SQLCA.SQLErrText )
RETURN
END IF
// ---------------------------------------------------------------------------
SQLCA.DBMS = 'ODB'
SQLCA.DBParm &
= "ConnectString='Driver=Adaptive Server Anywhere 8.0;" &
+ "UID=DBA;PWD=SQL;" &
+ "START=C:\Program Files\Sybase\SQL Anywhere 8\win32\dbeng8.exe;" &
+ "DBF=" &
+ aaa &
+ "'"
CONNECT USING SQLCA;
IF SQLCA.SQLCODE <> 0 THEN
MessageBox ( 'Error', &
'CONNECT failed in bbb:' &
+ '~r~nSQLCode = ' &
+ String ( SQLCA.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( SQLCA.SQLDBCode ) &
+ '~r~n' &
+ SQLCA.SQLErrText )
RETURN
END IF
// ---------------------------------------------------------------------------
itr_sqlca = CREATE u_tr_sqlca
itr_sqlca.DBMS = 'ODB'
itr_sqlca.DBParm &
= "ConnectString='Driver=Adaptive Server Anywhere 8.0;" &
+ "UID=DBA;PWD=SQL;" &
+ "START=C:\Program Files\Sybase\SQL Anywhere 8\win32\dbeng8.exe;" &
+ "DBF=" &
+ is_filespec &
+ "'"
CONNECT USING itr_sqlca;
IF itr_sqlca.SQLCODE <> 0 THEN
MessageBox ( 'Error', 'CONNECT failed in ue_post_open:' &
+ '~r~nSQLCode = ' &
+ String ( itr_sqlca.SQLCode ) &
+ '~r~nSQLDBCode = ' &
+ String ( itr_sqlca.SQLDBCode ) &
+ '~r~n' &
+ itr_sqlca.SQLErrText )
RETURN
END IF




