ADO.NET Connection to SQL Server DB - Sybase.PowerBuiIder .Db, Version=17.0.0.0, Culture=neutral, PublicKeyToken=98a699138181d746 was not Found.

1
0
-1

Hi Guys & Gals

I'm deploying to a brand new windows machine a pb2017r2 exe using ADO.NET.

Dot Net 4.5 is installed

I have run the msi installer generated by the package installer and copied over my exe and I'm getting the following error:

Sybase.PowerBuiIder .Db, Version=17.0.0.0, Culture=neutral, PublicKeyToken=98a699138181d746 was not Found.

It looks as though the Sybase.PowerBuilder... DLLs are not registered in the GAC, gacutil is not on the machine so I cannot check this theory.

Has anyone had this before or any ideas how to move forward?

 

*UPDATE*

Just tried dropping the exe in the folder with the sybase dll and turned on ado trace and I get:

/*---------------------------------------------------*/

/*                 08/06/2018  12:39                 */

/*---------------------------------------------------*/

(026B1A78): LOGIN: (33.785 MS / 33.785 MS)

(026B1A78): *** ERROR 999 ***(rc -1) : System.IO.FileNotFoundException: Could not load file or assembly 'Sybase.PowerBuilder.DataSource.Sharing, Version=17.0.0.0, Culture=neutral, PublicKeyToken=98a699138181d746' or one of its dependencies. The system cannot find the file specified.

File name: 'Sybase.PowerBuilder.DataSource.Sharing, Version=17.0.0.0, Culture=neutral, PublicKeyToken=98a699138181d746'

   at Sybase.PowerBuilder.Db.Data.DbBlock..ctor()

   at Sybase.PowerBuilder.Db.Block.SqlBlock..ctor()

   at Sybase.PowerBuilder.Db.DbRoutine.Connect(DbDrivers type, Object[] input, Dbms& dbms, DBVersion& dbVer, String& user)

 

WRN: Assembly binding logging is turned OFF.

To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.

Note: There is some performance penalty associated with assembly bind failure logging.

To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

 

(026B1A78): SHUTDOWN DATABASE INTERFACE: (0.000 MS / 33.785 MS)

Regards

David

Question Tags: 

Answers

Ken Guo answered ADO.NET Connection to SQL Server DB - Sybase.PowerBuiIder .Db, Version=17.0.0.0, Culture=neutral, PublicKeyToken=98a699138181d746 was not Found.

1
0
-1

Hi, 

Please let us know the Windows version you use. Is the exe compiled for 32bit or 64bit platform?
If you install PB IDE on the machine, are you able to run it in PB successfully?
Please let us know the code you use to connect SQLCA to the database, for example:
// Profile sqloleado
SQLCA.DBMS = "ADO.Net"
SQLCA.LogPass = “sql”
SQLCA.LogId = "dba"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Namespace='System.Data.OleDb',Provider='SQLOLEDB',DataSource='192.0.0.15',Database='dev2'"

// Profile sqlclientado
SQLCA.DBMS = "ADO.Net"
SQLCA.LogPass = “sql”
SQLCA.LogId = "dba"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Namespace='System.Data.SqlClient',DataSource='192.0.0.15',Database='dev2'"

If you switch to another machine, install .Net 4.0/4.5 and PB Runtime Package, do you have the same issue?

Regards,
Ken

David Peace's picture

Windows Server 2008R2 - Brand new install, nothing else installed.

Dot Net 4.5 Installed

Standard PB App compiled for 32_Bit. EXE works fine on machine with PB IDE installed.

We did have to copy these DLLs into the folder with the Packager inatsller msi.

Connection Info:

// Profile TDEDB
SQLCA.DBMS = "ADO.Net"
SQLCA.LogPass = <*>
SQLCA.LogId = "tde_user"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Namespace='System.Data.SqlClient',DataSource='pssqldev\pssqldev2014',Database='tde_orders'"


Connect fine with PB IDE and EXE connects fine running one PB IDE Machine.

I have restored the Deployment Machine back to Base Windows state and tried again, still same issues.

Thanks for your Response

David