[Pb] solutions for connecting petabytes of applications to servers without installing SQL server clients)

Source: Internet
Author: User
Tags builtin informix sql client sql server driver mssqlserver odbc sql server driver sybase

PB does not Install SQL client DLL

Dbmsgnet. dll

Dbmsrpcn. dll

Dbmsshrn. dll

Dbmsvinn. dll

Dbnetlib. dll

Dbnmpntw. dll

Libjcc. dll

Libjotsclnt. dll

Libjsybheap. dll

Msctf. dll

Msshk. dll

Ntwdblib. dll

Pbdwe80.dll

Pbmss80.dll

Pbodb80.dll

Pbvm80.dll

Ssnetlib. dll

-----------------------------------------------------------------------------

How to connect PB without installing the Oracle client

I have received many emails from netizens, reflecting that this method cannot be used to connect to the database. I checked it. Some netizens forgot to add the dynamic libraries of ODBC and PowerBuilder. Taking PB7.0 as an example, we add the following: copy the following files to the directory where the running files are located:

I. ODBC dynamic library

Ctl3d32. dll msvcrt40.dll odbc16gt. dll odbc32.dll odbc32gt. dll odbccp32.dll odbccr32.dll odbcint. dll

2. Create an EXTRA subdirectory and copy the MSVCRT. DLL file to the subdirectory.

EXTRA \ MSVCRT. DLL

Iii. ORACLE dynamic library and configuration file

Tnsnames. ora CORE35O. dll nasnsnt. dll nauntsnt. dll ncrnt. DLL Nlnt. dll NLSRTL32.DLL Nnfdnt. dll NNFNNT. dll nsnt. dll ntnt. dll nttnt. DLL CIW32.DLL Ora73.dll OTRACE73.DLL Sqlnet. ora Sqltnsnt. dll CORE35.DLL

Iv. pbvm70.dll pbdwe70.dll Pbo7370.dll PBO8470.DLL pbodb70.dll libjcc. dll

-----------------------------------------------------------------------------

Generally, releasing a PB application includes the following files and related operations in addition to the application components:
1. PowerBuilder Runtime dynamic link Library (Runtime Library ).
2. Database interfaces: these include the database-specific interfaces or ODBC interfaces provided by PB, and ODBC database drivers provided by different database vendors.
3. Configure the ODBC data source.

Ii. Dynamic Link Library (Runtime Library) during PowerBuilder running ).
The dynamic link library files required by PB of different versions are different, but the library names are similar. These DLL files must be included in the application directory or system directory:

Files required by PB6.5:
Required PBVM60.DLL PowerBuilder Virtual Machine
Optional PBDWE60.DLL DataWindow data window Engine
Optional PBRTC60.DLL hypertext Control
Optional PBTRA60.DLL database access tracking
The ODBC interface of PBODB60.DLL PB is optional.
Optional PBIN760.DLL INFORMIX Interface
Optional PBMSS60.DLL Microsoft SQL Server Interface
Optional PBSYC60.DLL Sybase SQL Server Interface
Optional PBO7360.DLL/PBO7260.DLL Oracle Version Interface

Files required by PB7.0:
Required PBVM70.DLL PowerBuilder Virtual Machine
Required LIBJCC. DLL PowerBuilder Library Management
Optional PBDWE70.DLL DataWindow data window Engine
Optional PBRTC70.DLL hypertext Control
Optional PBTRA70.DLL database access tracking
PBODB70.DLL pb odbc interface
Optional PBIN770.DLL INFORMIX Interface
Optional PBMSS70.DLL Microsoft SQL Server Interface
Optional PBSYC70.DLL Sybase SQL Server Interface
Optional PBO7370.DLL/PBO8470.DLL Oracle Version Interface

Files required by PB8.0:
Required PBVM80.DLL PowerBuilder Virtual Machine
Required LIBJCC. DLL PowerBuilder Library Management
Optional PBDWE80.DLL DataWindow data window Engine
Optional PBRTC80.DLL hypertext Control
Optional PBTRA80.DLL database access tracking
The ODBC interface of PBODB80.DLL PB is optional.
Optional PBIN780.DLL INFORMIX Interface
Optional PBMSS80.DLL Microsoft SQL Server Interface
Optional PBSYC80.DLL Sybase SQL Server Interface
Optional PBO7380.DLL/PBO8480.DLL/PBO9080.DLL Oracle Version Interface
The above Files can be obtained in C: \ Program Files \ Sybase \ Shared \ PowerBuilder.

3. SQL Anywhere ODBC database driver.

SQL Anywhere 5.0:
DBTL50T. DLL database tool
DBL50T. DLL Database Interface
WODBC. HLP help document
WOD50T. dll odbc driver
WL50ENT. DLL English string
WTR50T. dll odbc Translation
DBENG50.EXE Database Engine

SQL Anywhere 6.0:
DBL60T. DLL, WODBC. HLP, WOD60T. DLL, WL60ENT. DLL, WTR60T. DLL, DBENG60.EXE

SQL Anywhere 7.0:
DBODBC7.DLL, DBLIB7.DLL, DBWTSP7.DLL, DBLGEN7.DLL, DBODTR7.DLL, DBENG7.EXE

-----------------------------------------------------------------------------

When you do not install SQL, find these files on the installed machine.

E: \ winnt \ system32 \ dbnetlib. dll
E: \ winnt \ system32 \ dbnmpntw. dll
E: \ winnt \ system32 \ ntwdblib. dll
E: \ winnt \ system32 \ dbmssocn. dll
E: \ winnt \ system32 \ windbver. exe

-----------------------------------------------------------------------------

How can I know that port 1433 is opened?

Simply put:
/**********************************/
1. Ping is guaranteed first.

2. No error will be reported when Telnet IP 1433 is written in DOS

3. Use an IP address to connect to the Enterprise Manager:
Enterprise Manager --> right-click sqlserver group --> Create sqlserver registration --> next --> Write Remote Instance name (IP address, machine name) --> next --> select sqlserver login --> next --> write login name and password (SA, pass) --> next --> complete

4. If not:
Sqlserver server --> Start Menu --> sqlserver --> server network utility --> enable Winsock Proxy --> proxy address: (sqlserver Server IP address) --> proxy port --> 1433 --> OK

5. If not:
Sqlserver client --> Start Menu --> sqlserver --> client network utility --> alias --> Add --> write alias such as "Respectful" --> "network library" select TCP/IP --> The server name is written to the remote IP address or Instance name --> OK
/**************************************

-----------------------------------------------------------------------------

 

If the client is not installed, you can use the following files:
Ntwdblib. dll, pbmss80.dll, pbvm80.dll, pbwe80.dll, libjcc. dll

I will not talk about the Pb library, but also add some DLL of SQL 2000: dbnetlib. dll, dbnmpntw. dll, ntwdblib. dll, dbmssocn. dll, dbmsspxn. dll

-----------------------------------------------------------------------------

1. required dynamic library:
Pbmss80.dll, libjcc. dll, pbvm80.dll, pbdwe80.dll, libjotsclnt. dll
Dbnetlib. dll, dbnmpntw. dll, ntwdblib. DLL, pbodb80.dll, libjsybheap. dll
2. Configure the client network:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer \ Client \ ConnectTo]
"Servers" = "DBMSSOCN, ServerName, 1433"

-----------------------------------------------------------------------------

Use oDBC to connect to pbodb80.dll, libjsybheap. dll

-----------------------------------------------------------------------------
Dbnmpntw. dll named MPs queue support files
Dbmssocn. dll TCP/IP support files (optional)
Dbmsspxn. dll IPX files (optional)
Ntwdblib. dll SQLServer core file (this file is the most important)

Microsoft] [odbc SQL Server Driver] [TCPIP Sockets] General network error. Check the network document
The four most common errors in SQL Server connection:
1. "SQL Server does not exist or access is denied"
This is the most complex. There are many causes of errors and there are many aspects to check.
Generally, there are several possibilities:
1. incorrect spelling of the SQL Server name or IP address
2. The server network configuration is incorrect.
3. The client network configuration is incorrect.
To solve this problem, we generally need to follow the steps below to find out the cause of the error step by step.
============== First, check the network physical connection ================
Ping <Server IP Address/Server Name>
If the ping <Server IP address> fails, the physical connection is faulty. In this case, Check hardware devices, such as NICs, hubs, and routers.
Another possibility is that a firewall software is installed between the client and the server. For example, the ISA Server. firewall software may block the Ping and telnet responses.
Therefore, when checking for connection problems, we must temporarily disable the firewall software or open all closed ports.
If the ping <Server IP address> succeeds, the ping <Server Name> fails.
It indicates that there is a problem with name resolution. At this time, check whether the DNS service is normal.
Sometimes the client and server are not in the same LAN. At this time, the server name may not be used to identify the server. At this time, we can use the hosts file for name resolution,
The specific method is:
1. Use notepad to open the hosts file (usually in c: \ winnt \ system32 \ drivers \ etc ).
Add a record corresponding to the IP address and server name, for example:
172.1610.24 myserver
2. You can also configure it in the SQL Server Client Network utility, which will be described in detail later.
============ Second, use the Telnet command to check the running status of the SQL Server server ==============
Telnet <Server IP addresses> 1433
If the command is successfully executed, you can see that the cursor keeps flashing in the upper left corner after the screen flashes. This indicates that the SQL Server is working normally and is listening for TCP/IP connection at port 1433.
If the command returns an error message "unable to open the connection", it indicates that the Server has not started the SQL Server service,
The TCP/IP protocol may not be enabled on the Server, or the Server does not listen on the default port 1433 of SQL Server.
Then, we need to check the network configuration on the server and whether the named pipe is enabled. whether or not the TCP/IP protocol is enabled ================
SQL Server's built-in Server network tools can be used for inspection.
Click: program -- Microsoft SQL Server -- Server network usage Tool
After you open the tool, you can see which protocols are enabled on the server in "General.
In general, we enable Named Pipes and TCP/IP protocols.
Click "properties" in the TCP/IP protocol to check the default port settings of the SQK Server service.
Generally, we use the default port 1433 of SQL Server. if you select "Hide server", it means that the client cannot see this server by enumerating the server. This protects the server, but does not affect the connection.

============== Next we will go to the client to check the network configuration of the client ================
We can also use the client network tools provided by SQL Server to perform checks,
The difference is that this tool is run on the client this time.
Click: program -- Microsoft SQL Server -- client network usage Tool
After the tool is enabled, You can see which protocols are enabled on the client in the "General" item.
In general, we also need to enable the named pipe and TCP/IP protocol.
Click TCP/IP protocol and select "properties" to check the default connection port settings of the client. The port must be consistent with the server.
Click the "alias" tab and configure the alias for the server. The server alias is the name used for connection,
The server in the connection parameter is the real server name. The two can be the same or different. The alias settings are similar to those in the HOSTS file.
Through the above checks, the first error can be basically ruled out.
-----------------------------------------------------------------------------
2. "unable to connect to the server, user xxx Login Failed"
This error occurs because SQL Server uses the "Windows only" authentication method,
Therefore, you cannot connect to the SQL Server login account (such as sa). The solution is as follows:
1. Use the enterprise manager on the Server side and select "use Windows Authentication" to connect to SQL Server
Procedure:
In Enterprise Manager
-- Right-click your server instance (the one with the green icon)
-- Edit SQL Server Registration attributes
-- Select "use windows Authentication"
-- Select "use SQL Server Authentication"
-- Enter sa in the login name and sa in the password
-- OK
2. Set to allow SQL Server login
Procedure:
In Enterprise Manager
-- Expand "SQL Server group", right-click the name of the SQL Server
-- Select "attribute"
-- Select the "Security" tab.
-- Under "authentication", select "SQL Server and Windows ".
-- OK, and restart the SQL Server service.
In the preceding solution, if you fail to connect to SQL server by using "use Windows Authentication" in step 1,
Modify the Registry to solve this problem:
1. Click "start"-"run", enter regedit, and press enter to enter the Registry Editor.
2. Expand the registry key in sequence and browse to the following registry key:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer]
3. Find the name "loginmode" on the right of the screen and double-click to edit the double-byte value.
4. Change the original value from 1 to 2 and click "OK"
5. Disable Registry Editor
6. Restart the SQL Server service.
In this case, you can successfully use SA to create an SQL Server registration in the Enterprise Manager,
However, you still cannot connect to SQL Server in Windows Authentication mode.
This is because there are two default logon accounts in SQL Server:
Builtin \ Administrators
<Machine Name> \ Administrator deleted.
To restore these two accounts, you can use the following methods:
1. Open the Enterprise Manager, expand the server group, and then expand the server
2. Expand security, right-click logon, and click New logon"
3. In the Name box, enter BUILTIN \ Administrators
4. On the "server role" tab, select "System Administrators"
5. Click "OK" to exit
6. Use the same method to add <machine Name> \ Administrator to log on.
Note:
The following registry key:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer \ LoginMode
The value determines the Authentication mode that SQL Server will adopt.
1. indicates that the "Windows Authentication" mode is used.
2. indicates that the hybrid mode is used (Windows Authentication and SQL Server Authentication ).
-----------------------------------------------------------------------------
3. Prompt connection timeout
If a third error occurs, it generally indicates that the client has found this server and can connect to it,
However, an error occurs because the connection time exceeds the allowed time.
This usually occurs when you run the enterprise manager on the Internet to register another server that is also on the Internet,
In addition, during slow connection, the above timeout error may occur. In some cases, this error may also occur due to lan network problems.
To solve this problem, you can modify the connection timeout settings of the client.
By default, the timeout setting for registering another SQL Server through the Enterprise Manager is 4 seconds,
The query analyzer is 15 seconds (this is also the reason why there is a high possibility of errors in the Enterprise Manager ).
The procedure is as follows:
Settings in Enterprise Manager:
1. In Enterprise Manager, select "Tools" from the menu, and then select "options"
2. In the displayed "SQL Server Enterprise Manager properties" window, click the "advanced" tab.
3. Enter a large number in the "Login timeout (seconds)" box on the right under "connection settings", for example, 20.
Query settings in Analyzer:
Tool -- option -- connection -- set logon timeout to a large number
---------------------------------------------------------------------------------

4. Most servers use TCP/IP to succeed. Can I use Named Pipes once?
This is because in WINDOWS 2000 and later operating systems, MS configures TCP/IP for SQL SERVER security issues.
Is the default connection protocol of SQLSERVER. You can see TCP/IP and name pipe in client network utility.
.
You can also:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer \ Client \ SuperSocketNetLib]
"ProtocolOrder" = hex (7 ):,
See the default protocol.
2. How to change Named Pipes, TCP/IP in the program, and how to write the SQL statement?
You can modify the Registry location as mentioned above:
CLIENT:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer \ Client \ SuperSocketNetLib]
"ProtocolOrder" = hex (7 ):,
SERVER:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSSQLServer \ SuperSocketNetLib]

"ProtocolOrder" = hex (7 ):,

Bytes -------------------------------------------------------------------------------------------------

Why does the Client Always prompt that the database cannot be connected to the packaged program. Only when the client is installed with SQL can it be connected.

I packed DBmsSHRn in the bag. dll, ntwdblib. dll, DBMSSOCN. DLL, DBnetlib. dll, libjcc. dll, ntwdblib. DLL, dbmsspxn. dll, Dbnmpntw. dll, pbdwe80.dll, pbmss80.dll, pbrtc80.dll

Pbsyc80.dll, pbtra80.dll, and pbvm80.dll. However, after being installed on the client, the database cannot be connected.

When I Install SQL Server on this machine, I can connect to the database on the server.

Maybe I didn't package any DLL files. Is that true? If so, what files should I package ?? I used the patch sp4.0 for the database on the SQL2000 server.

Solution:

1. Install pbvm first

2. Copy

Dbnmpntw. dll

Dbmssocn. dll

Dbnetlib. dll

Ntwdblib. dll

To % SystemRoot % \ system32

Or put the required DLL in the target directory first,

Save the following statement as a. BAT file. Compile the statement.

Rem --------- sqlconfig. Bat release

@ Echo off

: Begin

Copy *. dll % SystemRoot % \ system32

It can also be stored in the EXE directory.

1. required dynamic library:

(1) DLL required for Pb operation:

Pbmss80.dll, libjcc. dll, pbvm80.dll, pbdwe80.dll, libjotsclnt. dll, pbrtc80.dll, pbtra80.dll, pbodb80.dll, pbdwo80.dll, pbdwp80.dll

(2) DLL driver required by the SQL Server Client:

Dbnetlib. dll, dbnmpntw. dll, ntwdblib. dll, dbmssocn. dll, windbver. exe

2. Configure the client network:

[HKEY_LOCAL_MACHINE \ SOFTWARE \
Microsoft \ MSSQLServer \ Client \ connectto]

"Servers" = "dbmssocn, servername, 1433"

Pbvm80.dll, dbnetlib. dll, dbnmpntw. dll, ntwdblib. dll

Pbmss80.dll, libjcc. dll, pbdwe80.dll

This is enough. In fact, there are four in the first line. You can simply put them in the same directory as your EXE without modifying the registry or installing the client, tested and available in Windows 98

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.