Arsip: [ask] koneksi ke ODBC user Dsn saat runtime dengan ado

 
user image
more 12 years ago

kepiss

Para master saya ada masalah nie bikin koneksi menggunakan adoconnection saat runtime. latarbelakang masalahnya. kan biasanya kalo aplikasi pindah komputer kalokoneksinya pake odbc pasti minta odbc datasource nya. lha ane pingin saat aplikasi berjalan langsung membuat ODBC USER DSM sendiri terus setelah itu koneksi string dari ado diseting gitu. yang ane bingungin nyeting connction stringnya gimana yaw.... ini script yang sudah ane coba...mohon dikoreksi ya para guru..:D
[pas]
// ini code yang ane dapet dari searching....n pembuatannya User DSN nya berhasil tapi Configurasinya tidak bisa
const
ODBC_ADD_DSN = 1; // Add data source
ODBC_CONFIG_DSN = 2; // Configure (edit) data source
ODBC_REMOVE_DSN = 3; // Remove data source
ODBC_ADD_SYS_DSN = 4; // add a system DSN
ODBC_CONFIG_SYS_DSN = 5; // Configure a system DSN
ODBC_REMOVE_SYS_DSN = 6; // remove a system DSN
type
TSQLConfigDataSource = function( hwndParent: HWND;
fRequest: Integer;
lpszDriver,
lpszAttributes,
lpszMsg: PChar;
cbMsgMax: Word;
var pcbMsgOut: Word ) : BOOL; stdcall;
procedure AddDSN;
var
pFn: TSQLConfigDataSource;
hLib: LongWord;
strDriver,
strHome,
strAttr,
msgOut: PChar;
strFile: string;
fResult: BOOL;
ModName: array[0..MAX_PATH] of Char;
srInfo : TSearchRec;
OutLen : Word;
begin
hLib := LoadLibrary( 'ODBCCP32' ); // load from default path
if( hLib <> NULL ) then
begin
@pFn := GetProcAddress( hLib, 'SQLConfigDataSource' );
if( @pFn <> nil ) then
begin
GetMem( strDriver,255 );
StrCopy( strDriver,'Mysql ODBC 5.1 Driver' );
GetMem( strAttr,255 );
StrCopy( strAttr,'DSN=Test' +#0+'host=localhost'+#0+'user=root'+#0+'database=koprasi'+#0+#0);
GetMem( MsgOut,255 );
OutLen := 0;
fResult := pFn( 0, ODBC_ADD_DSN, strDriver, strAttr, MsgOut, 255, OutLen );
if( fResult = false ) then ShowMessage( 'Create DSN failed!' );
end;
FreeLibrary( hLib );
FreeMem( strDriver );
FreeMem( strAttr );
Freemem( MsgOut );
end
else
begin
ShowMessage( 'Unable to load ODBCCP32.DLL' );
end;
end;

// mengetes koneksinya gan ...tapi gagal..masalhnya apa yaw
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
  AddDSN;
  Adoconnection1.Connected:=False;
  adoconnection1.ConnectionString:='Driver=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=Test;Initial Catalog=koprasi';
  adoconnection1.LoginPrompt:=False;
  Adoconnection1.DefaultDatabase:=null;
  Adoconnection1.Connected:=True;
  Showmessage('koneksi oke');
  except
  Showmessage('gagal biz');
  end;
end;
Mohon yang bisa kasih solusi...butuh bantuan banget nie para guru...[/pas]
user image
more 12 years ago

halimanh

Kalo saya sih pake cara yg lebih mudah. Buat suatu empty file dengan ekstensi .udl (bisa pake explorer), misalnya Koneksi.udl. Terus di AdoConnectionnya:

ADoConnection.connectionString := 'Koneksi.udl'; //Kalo ditaruh di direktori yg sama dgn aplikasi, bisa dipake GetAppPath()
Nah, sekarang double click file 'koneksi.udl' di explorer. Bakal ada window popup. Sekarang tinggal configurasi koneksinya, seperti biasa. Sewaktu diinstall di tempat client, tinggal double click lagi file koneksi.udlnya untuk setting di tempat client, beres kan. Dengan begini, settingannya terpisah dengan aplikasinya, dan fleksible, bisa diubah sesuai kebutuhan.
user image
more 12 years ago

kepiss

@halimanh: Kalo saya sih pake cara yg lebih mudah. Buat suatu empty file dengan ekstensi .udl (bisa pake explorer), misalnya Koneksi.udl. Terus di AdoConnectionnya:

ADoConnection.connectionString := 'Koneksi.udl'; //Kalo ditaruh di direktori yg sama dgn aplikasi, bisa dipake GetAppPath()
Nah, sekarang double click file 'koneksi.udl' di explorer. Bakal ada window popup. Sekarang tinggal configurasi koneksinya, seperti biasa. Sewaktu diinstall di tempat client, tinggal double click lagi file koneksi.udlnya untuk setting di tempat client, beres kan. Dengan begini, settingannya terpisah dengan aplikasinya, dan fleksible, bisa diubah sesuai kebutuhan.
Maaf mas baru bales.....maksudnya gimana ya mas..... koneksi.udl nanti isinya apa?? apakah cuma kosongan file gitu mas?? logikanya bagaimana mas kok bisa?? maaf mas banyak nanya.....
user image
more 12 years ago

halimanh

Silahkan coba dulu yg saya tulis ini, nanti pertanyaan anda terjawab sendiri.
@kepiss: [quote:70632df285="halimanh"]Kalo saya sih pake cara yg lebih mudah. Buat suatu empty file dengan ekstensi .udl (bisa pake explorer), misalnya Koneksi.udl. Terus di AdoConnectionnya:

ADoConnection.connectionString := 'Koneksi.udl'; //Kalo ditaruh di direktori yg sama dgn aplikasi, bisa dipake GetAppPath()
Nah, sekarang double click file 'koneksi.udl' di explorer. Bakal ada window popup. Sekarang tinggal configurasi koneksinya, seperti biasa. Sewaktu diinstall di tempat client, tinggal double click lagi file koneksi.udlnya untuk setting di tempat client, beres kan. Dengan begini, settingannya terpisah dengan aplikasinya, dan fleksible, bisa diubah sesuai kebutuhan.[/quote:70632df285] Maaf mas baru bales.....maksudnya gimana ya mas..... koneksi.udl nanti isinya apa?? apakah cuma kosongan file gitu mas?? logikanya bagaimana mas kok bisa?? maaf mas banyak nanya.....
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com